Задать вопрос
  • Где можно повысить навыки програмирования на языке 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">

    Источник
    Ответ написан
    Комментировать
  • Чем отличается динамическая библиотека от статической?

    Статическая библиотека это фактически архив объектных файлов, который используется в процессе статической линковки. В результате статической линковки из многих объектных файлов получается один исполняемый, запускается статическая линковка в момент создания исполняемого файла.

    Динамическая библиотека это фактически исполняемый файл (т.е. DLL и EXE в Windows имеют одинаковый формат). Динамическая линковка запускается в момент создания процесса (когда вы запускаете исполняемый файл на выполнение), линкуются между собой несколько исполняемых файлов каждый раз, когда создается новый процесс. Так же возможна динамическая линковка уже после запуска, т.е. новая библиотека может быть подгружена в адресное пространство ужа работающего процесса.

    Сделать из статической библиотеки динамическую в принципе можно - необходимо ее (статически) слинковать в динамическую библиотеку, при этом будет создана динамическая библиотека и статическая стаб-библиотека, которую можно использовать в проекте вместо статической библиотеки, чтобы вызывать функции из динамической библиотеки.
    Ответ написан
    9 комментариев