Задать вопрос
  • Как правильно сконфигурировать ubuntu 16.04,для работы скрипта с openserver?

    kotomyava
    @kotomyava
    Системный администратор
    Правильная мысль тут может быть только одна: Смотреть логи.
    Ответ написан
    Комментировать
  • Как разместить на одной странице два графика?

    0xD34F
    @0xD34F
    Вы дважды определяете window.onload - естественно, второе определение затирает первое, поэтому первый график не создаётся. Объедините обе функции в одну. Или назначайте обработчики с помощью addEventListener:

    window.addEventListener('load', function() {
      var ctx = document.getElementById('canvas').getContext('2d');
      window.myLine = new Chart(ctx, config);
    });
    Ответ написан
    1 комментарий
  • С чего начать делать сайт?

    LenovoId
    @LenovoId
    svg, css,js
    Вопрос Бородатый Баян ....
    Рисуете Верстаете Программируете На хостинг => Радуетесь
    Ответ написан
    Комментировать
  • Как сделать, чтобы было нельзя скачивать изображение, перенося его на рабочий стол?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Добавляете атрибут draggable="false"
    <img draggable="false" src="img.jpg">
    Ответ написан
    Комментировать
  • На какую ЗП можно рассчитывать с 2-летним опытом работы?

    В настоящий момент ситуация в php выглядит так.

    Если это it-компания (главный продукт it-решение), то начинаем от 80к, дальше за пару лет просим до 110-140.
    Если это какая-то компания, которой требуется php разработчик, то 60-80к начало, дальше до 100.

    Это актуально для Москвы, Питера, НН, Казани, Новосибирска. Если город поменьше, то убираем 10-15%.

    Если ты программист уже наивысшего качества, то там совсем другие условия и предложения, но если искать с рынка, то примерно так.
    Ответ написан
    1 комментарий
  • Как выводить заглушку на сайте при отсутствии интернет соединения?

    Vlad_IT
    @Vlad_IT
    Front-end разработчик
    Ребята, это не пинг и не NavigatorOnLine, так делать нельзя, ибо пользователь может читать статью, а вы ему при потере интернета все обломаете. Такая плашка работает на сайтах, чей контент грузится по ajax, без перезагрузки страницы. Плашка должна показываться при неудачном ajax запросе получения страницы, и в идеальном случае, предлагать посмотреть оффлайн страницы (предварительно загруженные в хранилище). Если же сайт не ajax, можно при помощи того же NavigatorOnLine делать проверку, что если сайт в оффлайне, превентить переходы по ссылкам, и показывать эту плашку только в случае клика на ссылку.
    Ответ написан
    Комментировать
  • Какие есть бесплатные сервисы для обработки изображений для портфолио?

    Гугл -> PSD Mockups
    Ну и фотошоп, разумеется.
    Ответ написан
    Комментировать
  • ИП для небольшой компании торгующей софтом?

    customtema
    @customtema
    arint.ru
    Затаскают.

    ИП дешевле по налогам.

    А еще у вас очевидные проблемы с бизнес-моделью.

    Переход на "продажу своих разработок" займёт лет 10. И этот переход - не бизнес, а гребанная самозанятость. Однако, головной боли у вас будет много. А денег будет на порядки меньше, чем вы рассчитываете.

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

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    Как Laravel ускоряет создание сайта?
    Тут вместо Laravel может быть любой php framework. Но главный вопрос ускоряет по отношении к чему? И в рамках какого проекта?

    Быстрее ли разработка стандартного блога на php framework чем на готовой CMS? НЕТ
    Быстрее ли разработка блога с нестандартными возможностями на php framework чем на готовой CMS? ДА

    Быстрее ли написать простой сайт на голом php c нуля, чем на php framework? ДА
    Быстрее ли написать сложный сайт на голом php c нуля, чем на php framework? НЕТ

    Смогу ли я заработать много денег и работать с интересными проектами, работая только с WP? НЕТ
    Будут ли меня брать на работу в серьезные компании без знания frameworks? НЕТ
    Востребован ли WP среди провинциальных web студий? ОЧЕНЬ
    Смогу ли я в них развиваться и получать достаточно денег? НЕТ
    Ответ написан
    1 комментарий
  • Стратегия входа, путь развития во фрилансе. С чего начать, чтобы стать верстальщиком и php-программистом?

    Nikolino
    @Nikolino
    Html и css с практическими задачами лучше изучать на htmlacademy.ru. После того как освоился, качаешь бесплатные psd макеты и верстаешь, с адаптивом, какие-то сложные вещи, которые не можешь сверстать оставляешь пока.
    Далее ищешь видео где верстают макет, обычно на первых секундах-минутах показывают макет и сразу можешь понять сможешь ли сверстать сам или нет, если понимаешь, что не сможешь, то смотришь как автор это сделает, узнаешь новое для себя.

    По php. Читать большие и толстые книги пока бессмысленно, всё прочитанное будет вылетать из головы. Ставишь OpenServer, и сразу в бой:
    1. Переменные, условия, циклы, массивы.
    2. Пользовательские функции
    3. Базовые функции по работе со строками и с массивами. Комбинация функций. (важно понять и запомнить что они умеют).
    4. Post и Get запросы, получение Post и Get запросов из формы (тут сразу и html по формам подтянешь)
    5. Базы данных, простые запросы к базе, выборки, запись в базу данных из формы.
    6. Куки, сессии.
    7. Чтение и запись в файлы.
    8. Регулярные выражения.
    9. ООП, базовые понятия. Самое сложное и непонятное для новичка. Непонятно потому, что не ясно зачем это нужно и почему это в дальнейшем упрощает работу, поэтому как-то мимо ушей все пролетает.

    Если с английским хорошо, то codecademy.com.
    Если плохо, то базовую теорию (и сразу практику) делать здесь.

    Далее лучше сразу переходить на фреймворк (лучше Laravel). MVC в теории тоже понимается плохо потому, что пользу донести до понимания новичкам сложно, а при работе с фреймворками сам понимаешь почему это удобно.
    Во время изучения фреймворка и ООП подтянешь.

    Самое главное, по моему опыту обучения, это сразу делать практические задания по ходу изучения тем, постепенно, набивать руку. Задания лучше не пропускать (с мыслью "да тут легко, в теории я знаю как это сделать, пропущу, интересно что будет дальше").
    Самое неправильное, это дойти в чтении чуть ли ни до ООП, а открыв редактор кода, понять, что не можешь написать простые условия или перебор массива.

    То есть чтения меньше, практики больше. Это про голый PHP.

    Про фреймворк, если английский позволяет то Laracasts: Laravel 5.4 from scratch. Если не позволяет, то ищешь в ютубе что-то вроде "простой блог на Laravel", смотришь и кодишь параллельно у себя.
    Тут тоже самое, под попкорн просмотреть всю серию роликов от начала до созданного блога с админкой бесполезно. Обнаружится потом, что не можешь даже базовые вещи сделать. Нужно делать параллельно с автором, он делает какой-то функционал, смотришь, делаешь также, изначально может быть непонятно многое и зачем автор это делает, но со временем поймешь как это работает.

    Далее пробуешь сделать что-то свое, какие-то "фичи", например авторизацию с помощью соц. сетей, лайки к постам и комментариям (с помощью ajax, тут можно jQuery изучить чуть-чуть), вложенность комментариев и т.д. Можешь другой себе проект придумать(представь себя стартапером).

    Далее можно изучить системное администрирование чуть-чуть, покупаешь VPS недорогой, ставишь Nginx, MySQL, PHP-FPM и т.д. Пробуешь залить туда свой проект, так чтобы всё работало. Далее можешь попробовать прикрутить какой-нибудь поисковый движок (Sphinx, например). Изучение командной строки тоже на codeacedemy.com есть.

    Возможно для фриланса это и не особо нужно, но при устройстве на работу (в том числе и удаленную), будет не лишним, во многих вакансиях это требуют даже от Junior'ов (но в вакансиях любят преувеличить).

    Сам изучаю всё это недавно. До этого был Python+Django(первый фреймворк). В команде никогда не работал. Так что можно сказать передаю опыт от новичка новичку.
    Ответ написан
    3 комментария
  • Как правильно загрузить сайт laravel на хост?

    max-ko
    @max-ko
    Консалтинг и веб-разработка
    Я использую Forge + Envoyer.

    Если вы совсем не разбираетесь, то можете попробовать Cloudways. Хоститься на апаче в 2к18 (тем более, если у вас shared) - имхо моветон.

    В .env прописываете доступ к бд, url приложения и APP_ENV=production + команды при деплое:
    composer install
    
    npm install
    npm run production
    
    php artisan view:clear
    php artisan cache:clear
    php artisan vendor:publish
    php artisan migrate --force
    php artisan queue:restart
    php artisan config:cache
    Ответ написан
    4 комментария
  • Бэкэнд разработчик на ноде, вкатывание?

    @spaceatmoon
    Дело вкуса. Я знаю JS, но совершенно не хочу вкатываться в nodejs. Зачем мне нода, когда и php решает те же проблемы?

    Мне лично нравиться в PHP, что есть на что опереться. Динамика развития стека средне динамичная и движется в правильном направлении, а не придумывает 100500 решений одной и той же проблемы. Есть решение - все его используют.

    Боязнь изучения другого языка в вашем случае не оправдана. Попробуйте Python/Java/PHP. Ознакомитесь где вот вам проще искать документацию, приятность синтаксиса, скорость разработки. Где вы решаете проблему из мира живого, а не из мира "Как эта штука работает".

    Я как-то хотел изучить Haskell, долго блуждал, но в итоге сложилось ощущение, что язык решает проблему для себя, а не для меня. Мне банально было неудобно всё в том языке. Даже родной редактор завершался с критической ошибкой...
    Ответ написан
    7 комментариев
  • Как правильно настроить связку PhpStorm + OpenServer + Composer?

    iiifx
    @iiifx
    PHP, OOP, SOLID, Yii2, Composer, PHPStorm
    Как-то уже показывал тут, но напишу еще раз.

    Настраиваем path OpenServer
    eded6-clip-61kb.png?nocache=1

    Добавляем закладку на PhpStorm
    67a2d-clip-33kb.png?nocache=1

    Запускаем PhpStorm через OpenServer
    26de1-clip-23kb.png?nocache=1

    Используем встроенную в PhpStorm консоль и получаем удовольствие от работы
    d4094-clip-30kb.png?nocache=1
    Ответ написан
    16 комментариев
  • Как сбросить настройки в phpstorm?

    serii81
    @serii81 Автор вопроса
    Я люблю phр...
    Нашел, нужно удалить папку config из /home/user/.phpstorm
    Или удалить папку /home/user/.config/JetBrains в убунту
    Ответ написан
    Комментировать
  • Есть ли готовая памятка для родных фрилансера?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    К каждому индивиду нужен свой подход. Чаще всего помогает: матом объясняешь, что ты занят и все. Желательно с оскорблениями, что бы второй раз желание слушать не было.
    Как вариант замок на дверь и график рабочий и не отвечать на провокации.
    Ну и если ты человек спокойный и хамить не научен (а я бы освоил обязательно этот скил) можно просто на любой "вынеси мусор", вызывать "мужа на час" или аналоги. Только так доступно можно объяснить, что ты дорого стоишь в рабочее время.
    Когда жил с тещей - поступал так. Просто сидел и рубился в игры, на каждое помоги, помогал. Но не работал. Где-то на 2-й день спросили, что не так, почему не работаю. Сказал, что не смогу тогда по дому помогать А это явно приоритетная задача. Поэтому решил больше не работать, никогда. Вопрос закрылся. При появлениях рецессии достаточно "увольняться?".
    Все родственники считают меня психом, но привыкли. Я же называю это "радикальная психологий". Работа кипит, хозяйство не отвлекает.
    ПС: самое главное в жизни вообще - научиться говорить "нет".
    Ответ написан
    2 комментария
  • Как загрузить картинку в actionUpdate в yii2?

    slo_nik
    @slo_nik Куратор тега Yii
    Для того, чтобы были видны картинки при редактировании, Вам надо настроить несколько параметров виджета.
    'pluginOptions' => [
           // остальные настройки
           'deleteUrl' => Url::to(['delete-img']), // укажите реальный путь к действию удаления изображений.
            'initialPreviewAsData' => true,
            'overwriteInitial'=>false,
            'initialPreview' => !$model->isNewRecord ? $model->imagesLinks : [],
            'initialPreviewConfig' => !$model->isNewRecord ? $model->imagesLinksData : [],
           // остальные настройки.
    ]

    Методы imagesLinks и imagesLinksData могут выглядеть так
    public function getImagesLinks()
        {
            $path = ArrayHelper::getColumn(UploadsFiles::find()->all(), 'pathImg');
            return $path;
        }
    
        public function getImagesLinksData()
        {
            $files = UploadsFiles::find()->all();
            return ArrayHelper::toArray($files,[
                UploadsFiles::class => [
                    'caption' => 'file',
                    'key' => 'id'
                ]
            ]);
        }
       // getPathImg() возвращает путь к изображению, используется в getImagesLinks()
        public function getPathImg()
        {
            return Url::home(true) . 'uploads/' . $this->file;
        }


    p.s.
    Для того,чтобы работал параметр "deleteUrl" нужно доработать код. Добавить js под формой
    $this->registerJs('
      // #uploadsfiles-imagesfile - id Вашего FileInput
      $("#uploadsfiles-imagesfile").on("fileuploaded", function(event, data, previewId, index) {
      input.fileinput("destroy").fileinput({
        multiple: true,
        showUpload: false,
        showRemove: false,
        initialPreviewAsData: true,
        overwriteInitial: false,
        uploadUrl: "' . Url::to(['upload-img']) . '", // подставить реальный путь к действию
        deleteUrl: "' . Url::to(['delete-img']) . '", // подставить реальный путь к действию
        initialPreview: data.response.initialPreview,
        initialPreviewConfig: data.response.initialPreviewData,
      })
      input.closest("form").find("button").attr("disabled", false)
        console.log(data);
    });
    ', View::POS_END);

    И доработать действие actionUploadImg()
    public function actionUploadImg()
        {
            $model = new UploadsFiles();
    
            if(Yii::$app->request->isAjax){
                $model->imagesFile = UploadedFile::getInstance($model, 'imagesFile');
                if($model->upload()){
                    $model->load(Yii::$app->request->post());
                    $model->saveImg();
                    $answer['initialPreview'] = $model->getImagesLinks();
                    $answer['initialPreviewData'] = $model->getImagesLinksData();
                    return json_encode($answer);
                }
            }
            return false;
        }


    Действие actionDeleteImg() может выглядеть так:
    public function actionDeleteImg()
        {
            if(Yii::$app->request->isAjax){
                $model = UploadsFiles::find()->where('id=:id', [':id' => Yii::$app->request->post('key')])->one();
                FileHelper::unlink('uploads/' . $model->file);
                $model->delete();
                return Json::encode('Delete');
            }
            return false;
        }
    Ответ написан
    2 комментария
  • Правильно ли я понял, как надо выполнить задачу?

    DevMan
    @DevMan
    <?php
    
    $list = [
    	['number' => 3],
    	['number' => 2],
    	['number' => 45],
    ];
    // 1st example
    echo array_sum(array_column($list, 'number')), PHP_EOL;
    
    // 2nd example
    echo array_reduce($list, function ($carry, $item) {
    	return $carry += $item['number'];
    }), PHP_EOL;
    
    // 3rd example
    array_walk($list, function ($item) use (&$sum) {
    	$sum += $item['number'];
    });
    echo $sum, PHP_EOL;
    
    // 4th example
    array_map(function ($item) use (&$sum2) {
    	$sum2 += $item['number'];
    }, $list);
    echo $sum2, PHP_EOL;

    https://ideone.com/xSbmOX
    Ответ написан
    Комментировать
  • Зачем нужно свойство box-sizing?

    А зачем мучиться ?

    Вот есть у вас блок, нужно вам сделать его 200px на 100px.
    .block {
        width: 200px;
        height: 100px;
        background-color: skyblue;
    }


    И тут вам нужны внутренние отступы. Легче ведь просто указать
    padding: 20px
    Чем пересчитывать все и писать:
    width: 180px;
    height: 80px;
    padding: 20px
    Ответ написан
    Комментировать
  • На чем это реализовано?

    нет там реакта, обычный js.
    Из плагинов и библиотек:
    1. Socket.io
    2. SlimScroll
    3. D3.js
    4. Bootstap
    5. Jquery
    6. fontawesome
    7. popper.js
    8. ну и vk.api
    Ответ написан
    Комментировать