Задать вопрос
  • Какие можно использовать переменные в скрипте ip-up?

    hint000
    @hint000
    у админа три руки
    У меня в Linux'е штатный /etc/ppp/ip-up начинается комментариями:
    #!/bin/sh
    #
    # This script is run by the pppd after the link is established.
    # It uses run-parts to run scripts in /etc/ppp/ip-up.d, so to add routes,
    # set IP address, run the mailq etc. you should create script(s) there.
    #
    # Be aware that other packages may include /etc/ppp/ip-up.d scripts (named
    # after that package), so choose local script names with that in mind.
    #
    # This script is called with the following arguments:
    #    Arg  Name                          Example
    #    $1   Interface name                ppp0
    #    $2   The tty                       ttyS1
    #    $3   The link speed                38400
    #    $4   Local IP number               12.34.56.78
    #    $5   Peer  IP number               12.34.56.99
    #    $6   Optional ``ipparam'' value    foo

    И кстати, рекомендую не заменять штатный файл, а оставить его в покое, и положить рядом в /etc/ppp/ свой скрипт ip-up.local
    Ответ написан
    1 комментарий
  • С чего начать системному администратору в школе?

    @Drno
    1. - беги оттуда... работы дохера, денег нифига
    А по теме -

    надо создать "карту" сети, где будут ПК которым нужен доступ, спланировать прокладку сети.
    далее можно поделить участки на "квадраты", чтобы приводить туда 1 кабель и ставить свитч, а не вести кучу проводов до каждого ПК
    после этих подсчетов возвращайтесь - будем подбирать оборудование
    Ответ написан
    10 комментариев
  • Какой репозиторий добавить в Ubuntu для установки актуальной версии NodeJS?

    lssssssssssl
    @lssssssssssl
    Менеджер версий nvm скачиваете и ставите любую версию nodejs, какая душе угодна.
    Первая ссылка в Яндексе https://losst.ru/ustanovka-node-js-ubuntu-18-04
    Ответ написан
    Комментировать
  • Как пройти Authorization Certbot'у, если доступ к серверу ограничен только определенными ip?

    ky0
    @ky0 Куратор тега Системное администрирование
    Миллиардер, филантроп, патологический лгун
    Можно подтвердить владение доменом совсем без доступа непосредственно к серверу, через DNS-запись.
    Ответ написан
    3 комментария
  • Как использовать Яндекс Метрику в SPA?

    В яндекс метрике есть метод hit, созданный для таких же целей.
    https://yandex.ru/support/metrika/objects/hit.xml
    Ответ написан
    Комментировать
  • Как ускорить скорость загрузки сайта, метрика и движовосайт тянут вниз?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Отложить загрузку на 5 секунд - выход, но грубоватый (имхо конечно). Я делаю по-другому - оборачиваю код в скролл-ивент + задержка в 1 секунду. То есть, сайт загрузился быстро, и как только пользователь начал скроллить хоть чуть-чуть - секундный таймаут и загрузка дополнительных ресурсов. Гугл доволен, пользователи вообще не замечают задержки:

    var fired = false;
    
    window.addEventListener('scroll', () => {
        if (fired === false) {
            fired = true;
            
            setTimeout(() => {
                // Здесь все эти тормознутые трекеры, чаты и прочая ересь,
                // без которой жить не может отдел маркетинга, и которые
                // дико бесят разработчиков, когда тот же маркетинг приходит
                // с вопросом "почему сайт медленно грузится, нам гугл сказал"
            }, 1000)
        }
    });
    Ответ написан
    29 комментариев
  • На чём лучше сделать СКУД?

    gbg
    @gbg
    Любые ответы на любые вопросы
    0) Во "взрослой" промышленности применение разного рода макетов-малинок экономически не оправданно. Главная причина - у них не промышленное исполнение. Они не защищены от ЭМИ, от статического электричества, от иголок по питанию, от грозы. Это все придется добавлять сверху - иначе вашу хваленую БИЗОПАСНОСТЬ можно будет поломать вспышкой от фотика.

    1) МНОГО запросов - понятие сильно растяжимое. Эту задачу нужно решать на самом раннем этапе разработки архитектуры, однако, для этого нужен опыт. Поэтому, на этапе обучения, от этой задачи можно отказаться. Поверьте, инсталляции постгреса с дефолтными настройками (кроме одной) хватает на обслуживание 200-500 одновременных соединений. которые валят запросы каждую секунду. Как по вашему, это "много"?

    2)На этапе изучения, пока опыта нет, проще всего взять то, что знаете лучше всего.

    3) Скорость работы + работа с железом. Что-то я слышал такое про C++. Однако, если вы его не знаете, вы просто добавите себе проблем.

    Вывод - такая система будет вам по зубам, при условии, что вы знаете, как сделать каждую ее часть в отдельности. Вот вы делали хотя бы простой замок, открываемый через интернетик? SSL к нему привязывали? Двухфакторную авторизацию? fail2ban?

    Задачи, которые вы себе ставите, умещаются в нескольких разрабов, и то с трудом - тут и фронт, и бэк, и devops, раз про нагрузки речь пошла, и разработка железа.
    Ответ написан
    Комментировать
  • Как сделать обновление объекта внутри массива реактивно?

    Athanor
    @Athanor
    Лайк + Решение: не жмись, нажми
    Ответ написан
    Комментировать
  • Как сделать тяжелый импорт из excel 800к товаров?

    syschel
    @syschel
    freelance/python/django/backend
    1. У вас именно EXEL файл или всётаки CSV который вы открываете на десктопе с помощью экселя?
    2. Если всётаки EXEL файл. Там слишком много всего нагорожено, на вроде вёрсток и формул или голые таблицы?
    3. Если всётаки голые таблицы. Вы можете делать именно CSV файл?

    Если данные будут в CVS формате, то можно всё загрузить средствами MYSQL и не использовать для обработки PHP или его библиотеки. Тогда результат будет в разы выше, чем если перебирать с помощью ПХП и потом кормить в MSQL

    Когда я в своё время сталкивался с проблемой загрузки файла товаров в базу, там было несколько миллионов единиц, то оптимальным стало именно такое решение > LOAD DATA

    Кусок моего старого MySQL кода, для наглядности
    // Загружаем кашерный файл
    LOAD DATA LOCAL INFILE '/srv/cms_cpa/files/adimport_items.csv' INTO TABLE adimport_tmp CHARACTER SET utf8 FIELDS TERMINATED BY '|' ENCLOSED BY "'" LINES TERMINATED BY '\n' IGNORE 1 LINES (id_adimport,article,available,currencyId,delivery,description,id,name,oldprice,param,picture,price,url,vendor,advcampaign_id,advcampaign_name);
    
    // Загружаем только нужные поля (!!!)
    LOAD DATA LOCAL INFILE '/srv/cms_cpa/files/adimport_items.csv' INTO TABLE adimport_tmp CHARACTER SET utf8 FIELDS TERMINATED BY '|' ENCLOSED BY "'" LINES TERMINATED BY '\n' IGNORE 1 LINES (id_adimport,@ISBN,@adult,@age,article,@attrs,@author,available,@barcode,@binding,@brand,@categoryId,@country_of_origin,currencyId,delivery,description,@downloadable,@format,@gender,id,@local_delivery_cost,@manufacturer_warranty,@market_category,@model,@modified_time,name,oldprice,@orderingTime,@page_extent,param,@performed_by,@pickup,picture,price,@publisher,@sales_notes,@series,@store,@syns,@topseller,@type,@typePrefix,url,vendor,@vendorCode,@weight,@year,advcampaign_id,advcampaign_name,@deeplink);
    
    // Все поля
    LOAD DATA LOCAL INFILE '/srv/cms_cpa/files/adimport_items.csv' INTO TABLE adimport_tmp CHARACTER SET utf8 FIELDS TERMINATED BY '|' ENCLOSED BY "'" LINES TERMINATED BY '\n' IGNORE 1 LINES (id_adimport,ISBN,adult,age,article,attrs,author,available,barcode,binding,brand,categoryId,country_of_origin,currencyId,delivery,description,downloadable,format,gender,id,local_delivery_cost,manufacturer_warranty,market_category,model,modified_time,name,oldprice,orderingTime,page_extent,param,performed_by,pickup,picture,price,publisher,sales_notes,series,store,syns,topseller,type,typePrefix,url,vendor,vendorCode,weight,year,advcampaign_id,advcampaign_name,deeplink);

    Ответ написан
    Комментировать
  • Софт для визуального обучения управления и настройки серверами?

    vaut
    @vaut
    Идеология работы с консолью намного более человеколюбивая чем гуи:
    1) Полнота документации. man и --help работают для почти всех утилит и без сторонних сервисов позволяют найти нужные опции.
    2) Простота передачи и хранения знаний. Простейший пример сборка OBS для линуха:
    spoiler
    git clone --recursive https://github.com/obsproject/obs-studio.git
    cd obs-studio
    mkdir build && cd build
    cmake -DUNIX_STRUCTURE=1 -DCMAKE_INSTALL_PREFIX=/usr ..
    make -j4
    sudo checkinstall --default --pkgname=obs-studio --fstrans=no --backup=no \
             --pkgversion="$(date +%Y%m%d)-git" --deldoc=yes

    Никаких тысяч скриншотов и заумных ссылок. Такие же инструкции есть для большинства популярных решений.
    3) Простота и скорость работы на удаленных серверах. ssh это быстро просто и надежно.
    Есть для всего: от смартфонов до мака.
    4) Обратная связь. 90% утилит пишут белым по черному что они делают, или какая ошибка возникла. Саму ошибку при необходимости легко загуглить.

    Если же больше нравится как обезьянка тыкать в кнопочки, с линухом лучше не связываться. Вас ожидает одна боль.
    Ответ написан
    Комментировать
  • Как на php склеить несколько docx документов?

    https://github.com/krustnic/DocxMerge

    use DocxMerge\DocxMerge;
    
    $dm = new DocxMerge();
    $dm->merge( [
        "templates/TplPage1.docx",
        "templates/TplPage2.docx"
    ], "/tmp/result.docx" );
    Ответ написан
    1 комментарий
  • Как сверстать новостную ленту?

    Kublyakov
    @Kublyakov
    Это называется masonry сетка. Погуглите, есть разные реализации, выберите себе по душе. Есть и на чистом css, но не во всех браузерах работать будет.
    Ответ написан
    Комментировать
  • Nginx: как перенаправлять запросы на другой порт (в пределах одного сервера)?

    BuriK666
    @BuriK666 Куратор тега Nginx
    Компьютерный псих
    server {
        listen 0.0.0.0:8080;
        access_log /path/to/access_log
        location / {
            proxy_pass http://127.0.0.1:8081/;
        }
    }
    Ответ написан
    1 комментарий
  • Каким образом можно связать данные таблицы через Eloquent ORM и получить нужные данные?

    Лучше сделать один большой запрос чем несколько маленьких
    Тебе надо сделать запрос используя with тогда ты сможешь все вытащить одним запросом
    Ответ написан
    2 комментария
  • Напомните онлайн сервис для создания макета сайта?

    VaaL2004
    @VaaL2004 Автор вопроса
    Прошу прощения что побеспокоил, нашел сам: Mockingbird

    Ещё из подобных:
    Pencil Project
    ProtoShare
    Hot Gloo
    MockFlow
    Balsamiq Mockups
    Creately
    Ответ написан
    2 комментария
  • Таблица с JSON полем или несколько таблиц под каждый тип данных, какой вариант проектрирования выбрать?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    В JSON может поместиться всё, что вы захотите в него поместить, mysql не волнует, сколько там «полей».

    Размер JSON-поля определяется переменной max_allowed_packet.

    Ну и лучше юзать PostgreSQL, там с JSON'ом всё лучше (в JSONB-варианте) — например, нормальные индексы.
    Ответ написан
  • Какую базу выбрать для real-time web приложения на Node.JS?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    а real-time с какой нагрузкой? если high-load это по определению не отдельно стоящий сервер.

    если полностью фри, много инфы, и богатый функционал - https://www.postgresql.org/ - энтерпрайз уровень, реально противостоит и мс и ораклу

    если все в "одном флаконе" - https://www.arangodb.com/ - интереснее тем что на табличной аналитике обещают перфоманс незначительно уступающий postgre, для документной модели скорость на уровне mongdb, бонусом идут - графовая модель (вынос мозга или счастье аналитика), собственный многопоточный форк node в ядре, ну в смысле прямой доступ к данным, триггеры... да почитайте уже сами ))) SQL-like+ACID+кластеризация - нет проблем

    если надо очень быстро (- тогда побежали!.. из анекдота) - https://clickhouse.yandex/ очень быстро для SQL-like, но уже нюансики по синтаксису (кому то более приятные будут ибо функции на js похожи), кластеризация, а вот по ACID как то уже не пишут, ну или я не видел.. )))

    во всех вариантах сокет/пушинг головняк самого вебприложения а не БД, напомню только что в Аранге есть готовый https://www.arangodb.com/why-arangodb/foxx/

    ну из мира !sql вам наверное стоит все таки взглянуть на https://www.rethinkdb.com/
    гугл, вики к вашим услугам.. и даже статья на хабре https://sohabr.net/habr/post/321380/

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

    PS почитал каменты выше...

    вообще то фишка rethinkdb уникальна, если вы до него уже добрались, вопрос странен...

    3х звенное вебприложение вам писать без вариантов

    в качестве основы серверной логики под .net вам пойдет SignalR

    в чисто линукс - node и npm к вашим услугам

    но вместо "с миру по нитке" все таки покурите ArangoDB
    Ответ написан
    Комментировать
  • Что такое Signed URLs?

    @Kostik_1993
    Web Developer
    например мы хотим передать в платежный сервис данные о новом платеже через GET параметры
    example.com/?foo=1&bar=2
    и чтобы сервис знал что данные которые мы ему передаем мы создаем для него подпись которую передаем доп параметром например sign
    example.com/?foo=1&bar=2&sign=jhyxchvjvaslnvdalsvsbnkereerb
    сама подпись это хешь от отсортированных по порядку (ksort) параметров (естественно без самого sign) + соль (которую знаем мы и знает сервис куда мы что-то передаем)
    И вот когда мы послали наш запрос сервис отбрасывает sign и генерирует новый хеш из оставшихся параметров (так же отсортированных) + соль и сверяет его с тем хешем что прислали ему мы и в случае если они совпадают то он может быть уверен в том что значения параметров foo и bar те что мы ему передавали и не были подделаны на этапе передачи
    Ответ написан
    Комментировать