• Как смонтировать .raw диск от виртуалки?

    Melkij
    @Melkij
    PostgreSQL DBA
    Задача минимумум: прочитать файлы, содержащиеся в образе.

    mount -o loop,offset=$((512*start_сектор_нужного_раздела)) file mountpoint
    или losetup с параметром модуля ядра loop.max_part в какое-нибудь адекватное значение - тогда будут loop устройства с разделами как обычное блочное устройство.

    Задача максимум: и прочитать файлы и засунуть виртуалку в Proxmox, в качестве хранилища использующий LVM на CephFS.

    Сделать LV по меньшей мере такого же размера, скопировать весь файл поблочно через dd
    Ответ написан
    1 комментарий
  • Где можно повысить навыки програмирования на языке c#?

    @cicatrix
    было бы большой ошибкой думать
    Для того, чтобы повысить навыки программирования, надо, как ни странно, ... программировать.

    Я не верю, что можно прочитать книжку и повысить навыки.
    Книги могут помочь, разумеется, но голая теория без практики - абсолютно бесполезная вещь.
    Навык программирования - умение решать поставленную задачу при помощи программного кода.
    Вот ставите задачу - написать программу/сайт/библиотеку, которые делают то-то и то-то. Начинаете писать.
    В процессе возникнет куча вопросов "а как сделать это", "а как сделать то", и т. д. Вот здесь уже тогда ищете материалы по решению конкретно этого "затыка" и двигаетесь дальше.
    По мере накопления в вашей голове коллекции решений конкретных задач, ваш навык программирования будет повышаться.
    Ответ написан
    2 комментария
  • Как получить все элементы DOM в виде массива?

    alvvi
    @alvvi
    export default apathy;
    Array.prototype.slice.call( document.querySelectorAll('*')  )

    или
    Array.from( document.querySelectorAll('*') )
    Ответ написан
    3 комментария
  • Deadlock, что за зверь, с чем едят?

    bubandos
    @bubandos
    bash'у, javascript'ую, php'лю, css'аю, html'каю
    Судя по исходным данным, тут не коммиты с транзакциями писать надо, а просто почитать про составление sql-запросов.
    Запрос типа
    INSERT INTO `table2`
    SELECT `type` , SUM(`salary` ) 
    FROM `table1`
    GROUP BY `type`


    UPDATE table2 AS t2 JOIN (
    SELECT SUM( salary ) AS summary, 
    TYPE FROM table1
    GROUP BY TYPE
    ) AS t1 ON t1.type = t2.type
    SET t2.summary = t1.summary WHERE t2.type = t1.type

    решит вашу проблему.
    Ответ написан
  • Как правильно задать структуру компонентов?

    0xD34F
    @0xD34F Куратор тега Vue.js
    Корневой элемент должен быть один. А у вас их сейчас три.
    Ответ написан
    1 комментарий
  • Выбор между Java и JS?

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

    2. Программировать, это не значит тупо зад****ть язык программирования и на нем писать. Это опыт, стиль мышления, способ решения сложных задач и все остальное. Это то, чего у вас не отнять, даже если вы поменяете язык 10 раз. Поэтому стоит нацелиться на получение профессиональных навыков.

    3. Я считаю что никто. никогда не сидит на одном языке, ровно как и не решает одни и те же задачи постоянно. В этом нет никакого роста (то самое, что очень нужно). Java и Javascript не настолько кардинально разные языки, чтобы возникла сложность пересесть с одного языка на другой. Вот на решение другой категории задач, возможно, переключиться будет труднее. Но тем интереснее (если задачи вас заинтересуют).

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

    5. Ваш товарищ привирает, говоря о 1.5к баксов в месяц, получая знания на одних лишь курсах. Курсы ничто, если нет никакой практики, и тут два варианта, либо он целенаправленно тратил много времени на разбор материала, днями и ночами учил, практиковался и повторял все это изо дня в день, либо вы друг друга не правильно поняли. Однако, см п. 2, имея огромный опыт в решении поставленных задач (особенно актуальных на данный момент), можно быть конкурентноспособным и без идеального знания какого-либо языка.

    P.S Мое мнение не претендует на истинно верное, но возможно ТС сможет что-то почерпнуть для себя.
    Ответ написан
    2 комментария
  • Консольный прокси сервер?

    @pfg21
    ex-турист
    в составе 3proxy есть набор минималистичных проксеров, которые конфигурируются только через параметры запуска.
    вот так у меня запускает прокся и нормально работает уже много лет.
    [Unit]
    Description=Simple http 3proxy service
    After=network.target
    
    [Service]
    User=nobody
    Group=nogroup
    ExecStart=/usr/local/bin/proxy -l/var/log/zzz/3proxy.log -4 -p10321
    
    [Install]
    WantedBy=multi-user.target

    тебе соотвественно надо взять бинарь soscks из поставки и прописать правильные параметры запуска.
    Ответ написан
    3 комментария
  • Какие основы должен знать железно junior-frontend developer по javascript?

    @AlexaZem
    Все очень условно, в одной компании можно на мидла пройти в другой это стронг джун и т.д.
    И естественно нет такого списка вопросов зная ответы на которые, можно гарантировано получить должность. Как правило это стандартные вопросы по: замыканиям, наследованиям, что нибудь из ООП, промисы ну и какие нибудь вопросы по методам js для работы с данными.

    И как правило, после js (если все ок) идет переход основному фреймворку на котором делали акцент до собеседования.

    И естественно это еще больше непредсказуемых вопросов. Так что не смотря на все хайповые заголовки курсоделов "frontend за 3 месяца" или "порог вхождения во front очень низок", занять должность джуна новичку довольно не просто.
    Ответ написан
    Комментировать
  • Раздача интернета через Bluetooth?

    jamakasi666
    @jamakasi666 Куратор тега Linux
    Просто IT'шник.
    Раз ноутбук уже подцеплен к wifi то цепляйся к этой же точке айфоном, на ноутбуке делай шлюз, на айфоне в настройках wifi указывай шлюзом ip ноутбука
    Ответ написан
    1 комментарий
  • Почему в Ubuntu 16.04 медленный apt-get dist-upgrade?

    landergate
    @landergate
    IT-шный jack-of-all-trades
    Так бывает, что сервера зеркал могут быть перегружены.

    Можно поменять mirror в '/etc/apt/sources.list' на, скажем, Яндекс:
    deb http://mirror.yandex.ru/ubuntu/ xenial main 
    deb-src http://mirror.yandex.ru/ubuntu/ xenial main

    Или любое другое зеркало, близкое по региону к вашему серверу.
    Ответ написан
    1 комментарий
  • Ubuntu стало подвисать, есть ли идеи в каком направлении копать?

    polyashovdima
    @polyashovdima
    Ведущий инженер IP сети
    Установите HTOP и проверьте какие модули нагружают систему.

    sudo apt-get install htop
    sudo htop

    Описание столбцов:

    PID - идентификатор процесса.

    USER - владелец процесса.

    PRI - текуший приоритет (влияет на процессорное время, отводимое процессу, значение по умолчанию - 20; чем меньше приоритет, тем больше времени отводится процессу, следовательно он выполняется быстрее).

    NI - величина изменения приоритета относительно значения PRI (клавиши F7, F8).

    VIRT - общий объем виртуальной памяти, используемой процессом. Включает в себя: область кода (CODE), данные (DATA), разделяемые библиотеки (SHARED) и страницы, перемещенные в swap-область памяти. Если приложение потребовало от ядра выделить ему 100Мб памяти, а использует всего 5 Мб, данный столбец всё равно будет показывать цифру 100.
    (CODE - объем памяти, содержащий исполняемый код процесса.
    DATA - объем памяти, занятой данными, используемыми процессом в ходе выполнения.
    SWAP - объем памяти, используемой процессом, но перемещенной в swap-область.)

    RES - количество резидентной (не перемещаемой в swap) памяти в килобайтах. Если приложение потребовало от ядра выделить ему 100Мб памяти, а использует всего 5 Мб, то данный столбец покажет 5. Но здесь есть два ньюанса:
    а) RES не показывает сколько данных было перемещено в swap,
    б) часть RES-памяти может быть разделяемой.

    SHR - количество разделяемой (shared) памяти программы в килобайтах, т.е. памяти, которая может быть использована другими приложениями.

    S - состояние процесса:
    S — так называемое состояние сна;
    R — состояние выполнения;
    D — состояние ожидания.

    CPU% - использование процессора в процентном отношении.

    MEM% - использование процессом памяти в процентном отношении.

    TIME+ - время работы процесса.

    Command - указывает на команду, которой был запущен процесс.

    Через настройки (F2) можно добавить еще некоторые полезные параметры:

    IO RATE - Операции ввода\вывода. Чтение + запись. Если нужно отдельно на чтение и на запись, то можно добавить:

    IO READ RATE и IO WRITE RATE.

    Также на экран выводятся следующие параметры:

    Load average - отражает число блокирующих процессов в очереди на исполнение в определенный временной интервал, а именно 1 минута, 5 минут и 15 минут, соответственно. Блокирующий процесс — это процесс, который ожидает ресурсов для продолжения работы.

    Uptime - время работы системы.

    Управление:

    F1 - справка;
    F2 - настройки;
    F3 - поиск процесса;
    F4 - сортировка списка процессов (от большего к меньшему или от меньшего к большему);
    F5 - устанавливает древовидное отображение (корни - родительские процессы, а листья - дочерние) и наоборот;
    F6 - открывает панель с выбором параметра сортировки процессов;
    F7 - увеличить приоритет выполнения текущего процесса;
    F8 - уменьшить приоритет выполнения текущего процесса;
    F9 - убить процесс;
    F10 - выйти из программы.
    Ответ написан
    Комментировать
  • Выбор ОС для сервера Debian 9 или Ubuntu 17.10?

    @nikweter
    Системный администратор
    17.10 для сервера? И чем люди думают, когда нестабильные релизы в продакшн тянут..
    Ответ написан
    9 комментариев
  • В чем разница pppoe и ipv4 (ethernet) и что быстрее, передача через wifi или ethernet или ethernet с pppoe?

    krimtsev
    @krimtsev
    скорость на торренте скачет от появления и ухода раздающего, а не от технологии передачи данных.

    ваш вопрос настолько запутан Вами самими же, что лучше не читайте все сразу в Интернете, дабы не забивать себе голову.
    не трогайте ничего, пусть работает

    wifi - подключение по беспроводной сети. соединение только между вашим устройством и роутером.
    ethernet - кабельное подключение между устройством и роутером или оборудованием провайдера.
    ethernet с pppoe - кабельное подключение с оборудование провайдера.
    Ответ написан
    3 комментария
  • Можно ли установить 2 проекта на один VPS?

    rockon404
    @rockon404
    Frontend Developer
    Запускаете, например, на 3000 и 3001.
    если хотите с одного хоста, то настраиваете NGINX как-то так:
    server {
        listen 80;
        server_name example.com;
        access_log /var/log/nginx/example.com;
    
        location / {
            proxy_pass         http://127.0.0.1:3000;
        }
    
        location /second-project-path {
            proxy_pass         http://127.0.0.1:3001;
        }
    }


    Корневой путь для первого проекта, /second-project-path для второго.

    Если хосты тоже хотите разные, то так:
    server {
        listen       80;
        server_name  first-project.com;
        access_log /var/log/nginx/first-project.com;
    
        location / {
            proxy_pass http://127.0.0.1:3000;
        }
    }
    
    server {
        listen       80;
        server_name  second-project.com;
        access_log /var/log/nginx/second-project.com;
    
        location / {
            proxy_pass http://127.0.0.1:3001;
        }
    }
    }
    Ответ написан
    Комментировать
  • Как возобновлять процесс при падении?

    @protven
    Можно с помощью systemd (имхо, самое верное). Можно внешний watchdog написать, можно по крону раз в минуту проверять есть ли процесс, и если его нет, то стартовать.

    Гуглите "systemd minecraft", там прямо готовые конфиги есть, под ваши хотелки.
    Ответ написан
    2 комментария
  • Как можно быстро создать список хешей sha256 и MD5 из словаря?

    morihaos
    @morihaos
    На 99% вопросов уже есть ответы в инетке...
    Привет,
    #!/bin/bash
    cat ./text.txt | while read line
    do
      echo -n $line | md5sum | cut -d"-" -f1 - >> ./md5.txt
    done
    Ответ написан
    Комментировать
  • Как настроить раздачу интернета dnsmasq?

    На интерфейсе enp3s0 проблемной машины включить DHCP.
    iface enp3s0 inet dhcp
    Если хочется статически:
    iface enp3s0 inet static
    address 192.168.0.2
    netmask 255.255.255.0
    network 192.168.0.0
    gateway 192.168.0.1
    dns-nameservers 192.168.0.1
    Ответ написан
    Комментировать
  • Как переключатся между удаленными репозитриями?

    Это работает при условии что проект один и тот же, просто хранится в двух разных местах.

    Добавить сервер к папке:
    git remote add [сокращение] [url]

    Чтобы переключиться на ветку другого репозитория:
    git fetch [сокращение] [ветка]
    git checkout -b [лок. ветка] [сокращение]/[ветка]

    Залить изменения на сервер:
    git push [сокращение] [ветка]
    Ответ написан
    Комментировать
  • Как вывести v-for в обратном порядке в VUE?

    0xD34F
    @0xD34F Куратор тега Vue.js
    computed: {
      reversedItems() {
        return [...this.items].reverse();
      },
    },

    v-for="n in reversedItems"
    Ответ написан
    Комментировать
  • Как вывести v-for в обратном порядке в VUE?

    Ni55aN
    @Ni55aN
    Лучше использовать фильтры:

    Vue.filter('reverse', function(value) {
      // slice to make a copy of array, then reverse the copy
      return value.slice().reverse();
    });

    <li v-for="item in items | reverse" track-by="id">

    Источник
    Ответ написан
    Комментировать