Задать вопрос
  • Что изучить для удаленной работы с нуля без перспектив офиса?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Ничего. Ну в смысле ничего не получится :(

    Огромная, чудовищная, невероятная конкуренция, которая сейчас в связи со всей этой байдой - только усилилась. "Миллионы индусов" - это не оборот, это реальность. И не только индусов - миллионы людей пашут в веб-программировании как макаки за пачку доширака. Вы уверены, что сможете их обойти при том, что общаться голосом с заказчиком Вы не сможете? (А составить текстовый документ - для некоторых людей это подвиг, равный победе Геракла над Немейским Львом и Лернейской Гидрой, вместе взятыми - я знаю отличных спецов, которые блистательные проектировщики, но спасуют перед служебкой из трех строк).
    А на удаленку джунов не берут - как его контролировать и кто будет отвечать за сорванный дедлайн? Хотя сейчас, опять же со всем этим жутким бардаком, может и берут...
    Если Вы в РФ - обратитесь в службу занятости. Есть такая вещь, как инвалидская квота для работодателей.
    Ответ написан
    Комментировать
  • Данные через Fetch() в PHP и обратно. Как отправить объект / массив?

    @dpws
    <?php
    $out[] = json_decode(file_get_contents('php://input'));
    $out[] = 100;
    $out[] = $_POST;
    echo json_encode($out);
    ?>
    Ответ написан
    2 комментария
  • Какая разница между CURLOPT_COOKIEFILE и CURLOPT_COOKIEJAR в curl?

    glebovgin
    @glebovgin
    Full Stack Web Developer
    CURLOPT_COOKIEJAR - файл, куда пишутся куки после закрытия коннекта, например после curl_close()
    CURLOPT_COOKIEFILE - файл, откуда читаются куки.

    Так что используйте оба параметра, не ошибетесь.
    Но вообще документация - сильная штука.
    Ответ написан
    Комментировать
  • Как передать куки вторым запросом в cUrl?

    OAPrilepa
    @OAPrilepa
    Frontend developer
    Старый код, логинимся и получаем куки в строку:
    // Отправка POST запроса с получением печенек:
    function send_post_get_cookie($URL='', $PostData=Array(), $cookie='')
    {
        // Отсекаем пустые вызовы:
        if (strlen($URL)<=0) return false;
        // Скопировал строку из FireBug:
        $ua = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.13) Gecko/20101203 MRA 5.7 (build 03796) Firefox/3.6.13';
        // Инициализация объекта:
        $ch = curl_init($URL);
        // показывать заголовки (в них куки):
        curl_setopt($ch, CURLOPT_HEADER, 1); 
        // не показывать тело страницы (для экономии траффика):
        curl_setopt($ch, CURLOPT_NOBODY, 1); 
        // это чтобы прикинуться браузером:
        curl_setopt($ch, CURLOPT_USERAGENT, $ua);
        // можно ставить еще вот это, если удаленный сервер проверяет:
        // curl_setopt($ch, CURLOPT_REFERER, $URL);
        curl_setopt($ch, CURLOPT_POST, 1);
        // включение полей POST в запрос:
        curl_setopt($ch, CURLOPT_POSTFIELDS, $PostData);
        // если нужны печеньки, установим:
        if (strlen($cookie)>0)
            curl_setopt($ch, CURLOPT_COOKIE, $cookie);
        // тормозим стандартный вывод:
        ob_start();
        // запускаем запрос:
            curl_exec ($ch);
            curl_close ($ch);
            // получаем заголовки в массив:
            $headers = explode("\n", ob_get_contents());
        ob_end_clean();
        // выдираем строку печенек:
        for ($i=0, $cnt=count($headers); $i<$cnt; $i++) 
            if (strpos($headers[$i], 'Set-Cookie:') !== FALSE)
                $cookie .= substr($headers[$i], strpos($headers[$i], 'Set-Cookie:')+strlen('Set-Cookie:')); 
        // и возвращаем результат:
        return $cookie;
    }


    А потом используем ее в других запросах, к примеру загружаем файл после авторизации:
    // Сохранение файла с удаленного хостинга:
    function save_get_file($URL='', $cookie='')
    {
        if (strlen($URL)<=0) return false;
        $filename = $_SERVER['DOCUMENT_ROOT'].'/upload/tmp/'.date('YmdHis_').rand(99,9999999).'.tmp'; 
        $fp = fopen($filename, 'w');
        if (!$fp)
            return false;
        else
        {
            $ua = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.13) Gecko/20101203 MRA 5.7 (build 03796) Firefox/3.6.13';
            $ch = curl_init($URL);
            curl_setopt($ch, CURLOPT_USERAGENT, $ua);
            curl_setopt($ch, CURLOPT_FILE, $fp); // чтобы выгрузить в файл;
            if (strlen($cookie)>0)
                curl_setopt($ch, CURLOPT_COOKIE, $cookie);
            curl_exec ($ch);
            curl_close ($ch);
            return $filename;
        }
    }
    Ответ написан
    Комментировать
  • Оценить вероятность подбора пароля?

    profesor08
    @profesor08
    0.0015538215827475253%
    Ответ написан
    Комментировать
  • Почему браузеры самостоятельно добавляют теги в мою разметку HTML?

    artemky
    @artemky
    скорее всего он за вами недостающие закрывающиеся теги добавляет
    Ответ написан
    Комментировать
  • Почему браузеры самостоятельно добавляют теги в мою разметку HTML?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега HTML
    У вас где-то разметка кривая, браузер от себя ничего не добавляет.
    Ответ написан
    1 комментарий
  • Почему браузеры самостоятельно добавляют теги в мою разметку HTML?

    zkrvndm
    @zkrvndm
    Архитектор решений
    Такое обычно бывает, если где-то ошибки есть в html-коде. Проверьте свой код на ошибки.
    Ответ написан
    Комментировать
  • Как в node js получить список js файлов в папке и подпапках?

    Staltec
    @Staltec
    Node.js разработчик
    Асинхронно (и последовательно) это выглядит чуток веселее:

    var path = require('path');
    var fs = require('fs');
    var async = require('async');
    
    
    function getFiles (dirPath, callback) {
    
        fs.readdir(dirPath, function (err, files) {
            if (err) return callback(err);
    
            var filePaths = [];
            async.eachSeries(files, function (fileName, eachCallback) {
                var filePath = path.join(dirPath, fileName);
    
                fs.stat(filePath, function (err, stat) {
                    if (err) return eachCallback(err);
    
                    if (stat.isDirectory()) {
                        getFiles(filePath, function (err, subDirFiles) {
                            if (err) return eachCallback(err);
    
                            filePaths = filePaths.concat(subDirFiles);
                            eachCallback(null);
                        });
    
                    } else {
                        if (stat.isFile() && /\.js$/.test(filePath)) {
                            filePaths.push(filePath);
                        }
    
                        eachCallback(null);
                    }
                });
            }, function (err) {
                callback(err, filePaths);
            });
    
        });
    }
    
    
    getFiles('./', function (err, files) {
        console.log(err || files);
    });


    UPD: Добавил проверку расширения файла чтобы в список попадали только *.js файлы
    Ответ написан
    Комментировать
  • Как в webpack подключать две страницы html?

    nuykon
    @nuykon
    Full Stack Developer
    plugins: [
        new HtmlWebpackPlugin({ template: 'src/screens/app/index.html'}),
        new HtmlWebpackPlugin({ template: 'src/screens/landing/index.html'})
    ]


    но по-моему лучше пройтись по папке и получить список страниц (массив)
    а потом примерно так:
    plugins: [
        ...PAGES.map((page) => new HtmlWebpackPlugin({
          template: `${PAGES_DIR}/${page}`,
          filename: `./${page}`,
          inject: true,
        })),
      ],
    Ответ написан
    Комментировать
  • Как удалить уволенного сотрудника из всех репозиториев GitHub?

    @Flying
    Если у вас аккаунт организации - то там всё просто: На основной странице организации вкладка People, дальше слева выбираете либо Members либо Outside collaborators, там выбираете нужного человека и слева внизу будет кнопка "Remove from all repositories".

    Если же у вас просто личный аккаунт - то там такого не предполагается (что естественно).

    Возможно вам стоит рассмотреть вариант перевода вашего аккаунта в аккаунт организации (Settings -> Organisations -> Transform account) если по факту это всё равно организация. Конечно в этом случае поменяется схема биллинга, но GitHub недавно сильно снизил цены для GitHub for Teams так что вполне можно пользоваться.
    Ответ написан
  • Как стать топовым WEB разработчиком?

    origami1024
    @origami1024
    went out for a night walk
    Знаю HTML, CSS, Bootstrap 3,4, верстал на них, сейчас освоил FlexBox, знаю как адаптивно верстать.
    Чуток знаю основы WEB дизайна, есть макеты на Behance

    Да ты и так уже топовый веб разработчик, можно закрывать вопрос
    Ответ написан
    1 комментарий
  • Как стать топовым WEB разработчиком?

    approximate_solution
    @approximate_solution
    JS Developer. Angular\React\Vue\Ember
    стать топовым WEB разработчиком на фрилансе/удаленке?

    Сразу возникает вопрос, где та оценка качества по которой вы хотите стать топ разработчиком. Вы берете одну из самых низкопороговых ниш, и пытаетесь стать "царем горы".
    Знаю HTML, CSS, Bootstrap 3,4, верстал на них, сейчас освоил FlexBox, знаю как адаптивно верстать.

    С таким даже на работу не берут, без знания хотя бы js\php - всё сложно, будете перебиваться мелкими заказами и демпинговать.
    Желание делать сайты под ключ, дизайны сайтов, приложений и разработка.

    Готовьтесь к огромной конкуреции среди таких же "топовых разработчиков"

    Как думаете все вместе реально круто освоить и стать хорошим разработчиком сайтов от дизайна до верстки и запуска сайта, так скажем?

    Вы опоздали лет на 10, когда люди с Вашими навыками делали достаточно неплохие деньги.

    Сейчас неплохие деньги будет делать тот, кто 10 лет нарабатывал своё портфолио, обзавелся клиентами, и чем ваши навыки в виде "знаю чуток, верстал на них, сейчас освоил flexbox" - рынку Вы с такими темпами пригодитесь лет через 5, когда освоите пару фреймворков, либо 4-5 cms + php.
    Ответ написан
    47 комментариев
  • Чем создание JVM под конкретные платформы "лучше", "проще", "продвинутее", "правильнее" написания компиляторов под те же платформы?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Упрощения для разработчиков инструментальных средств - это тема очень непростая. Намного легче объяснить плюсы с позиции прикладного программиста и пользователей ПО. В 2003-м году я участвовал в разработке одной системы на Java EE. Написанный мной и другими разработчиками код был скомпилирован с помощью Java 1.4, упакован в war и развёрнут на сервере заказчика. Это был сервер с 32-битными процессорами Xeon Prestonia, работавший под управление FreeBSD. Позже это приложение в том же war-файле было перенесено на сервер Fujitsu PRIMEPOWER с процессорами абсолютно иной архитектуры - SPARC, и управляемый очень отличающейся операционной системой - Solaris. Сейчас оно крутится на IBM'овских блэйдах c процами POWER и под управлением AIX, на сколько мне известно. Не удивлюсь, если через некоторое время приложение перенесут на что-нибудь с ARM'ами и под Linux или HP-UX. Все эти миграции выполняются без перекомпиляции и без привлечения разработчиков. Если бы приложение было написано на чём-нибудь вроде C++, код приложения пришлось бы портировать на каждую платформу и перекомпилировать. Это было долго, сложно и очень дорого.
    Ответ написан
    2 комментария
  • Нужно ли жаловаться на пользователей, которые удаляют свои вопросы, а потом задают их заново?

    https://qna.habr.com/help/rules

    4.1. Дублирование вопроса, который уже размещался на страницах Сервиса. В том числе и в случае, если вопрос был удалён модератором, или на вопрос не был дан ответ (т.е. категорически запрещается дублирование вопроса с целью повторного привлечения к нему внимания).


    Скорее всего жаловаться надо
    Ответ написан
    1 комментарий
  • Какие данные разместить на SSD?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    сохранением срока службы

    SSD и HDD это расходник. У современных девайсов срок службы весьма велик, и сохранять срок службы не нужно. Нужно просто делать регулярные бэкапы на отдельное устройство или в облако.
    Ответ написан
    Комментировать
  • Как растянуть родителя на высоту ребенка с position:absolute?

    wapster92
    @wapster92 Куратор тега CSS
    Mike Ro, ну тогда оформлю с решением на js
    Ответ написан
    Комментировать
  • Edge не поддерживает css grid?

    IonDen
    @IonDen
    JavaScript developer. IonDen.com
    Потому что Edge давно не использует префиксы.
    Ответ написан
    1 комментарий
  • Как сверстать элемент с вырезанными до середины краями?

    SpiderPigAndCat
    @SpiderPigAndCat
    занимаюсь салообразованием
    Ответ написан
    Комментировать
  • Как сверстать элемент с вырезанными до середины краями?

    @soledar10
    html css3 js jquery
    Ответ написан
    Комментировать