• Как в Linux сделать swap файл с динамическим размером?

    @AVKor
    Как в Linux создать swap-файл с динамическим размером?

    Никак.

    Более того, это не нужно, поскольку надо пользоваться разделом, а не файлом (в раздел пишется напрямую, а в файл - поверх ФС, что менее эффективно).
    Ответ написан
    7 комментариев
  • Npm, Webpack, NodeJs с чего начать?

    @deliro
    Агрессивное программирование
    Фронт развился в какую-то неправильную сторону, это правда
    Вкатиться на фронт очень сложно, это тоже правда. Причём, необоснованно сложно.

    Я бы выделил два пути, как можно въехать во всё это:
    1. Создать приложение на Vue или React по туториалам, затем разобраться, как и зачем оно всё
    2. Разобраться как и зачем оно всё (aka Vanilla JS), потом заняться реактами

    Имхо, вариант №2 предпочтителен и более прост, потому что на варианте №1 есть огромный шанс застрять, никогда не разобравшись, как оно работает а при любых нешаблонных ошибках поднимать лапки.

    Что здесь нужно понимать:
    1. Есть разные версии ES (ecmascript), они все обратносовместимые. Программист может писать на любой версии, какая ему нравится. Обычно берут последнюю стабильную

    2. Для проекта обычно есть две версии ES: та, на которой пишут программисты и та, которая исполняется в браузере или в ноде (об этом позже). Например, программист пишет на ES8, а код транслируется на ES5. Это позволяет использовать последние предсмертные хрипы писки моды JS при этом запуская всё на древнейшем говне вроде IE11. Перегонкой кода из JS/TS одной версии в JS другой версии занимается транспилятор: babel / esbuild / swc

    3. Новые версии JS содержат расширения стандартной библиотеки, которых нет в старых браузерах (например Array.from, Object.entries и т.п.). Эти дырки затыкают полифиллы, они же shims. Самая популярная дырозатыкательная машинка — corejs

    4. Весь код очевидно не пишется в одном файле и может быть написан на TypeScript (он же TS), JSX/TSX (реактовый синтаксис). Всё это нужно собрать в один или несколько файлов, то есть скомпоновать. Этим занимается bundler: часть webpack / esbuild / spark / etc.

    5. Этот же парень отвечает за то, чтобы та тысяча библиотек, что лежит в node_modules, попала в итоговый условный main.js, но не целиком, а только то, что используется. Последнее называется tree shaking (типа навозную кучу node_modules потрясли как дерево, что упало — то не нужно)

    6. (то самое "позже) Код может исполняться не только в браузере пользователя, но и на сервере без браузера вообще. Это нужно для SSR aka Server Side Rendering. SSR — это такой глобальный вонючий костыль для SEO. Дело в том, что стандартные SPA приложения содержат один DOM элемент, куда цепляется всё остальное приложение вроде реакта или вью, которое уже содержит всю вёрстку прямо в JS. Но не все поисковики согласны с таким подходом и некоторые (не будем показывать пальцем на яндекс) не умеют выполнять JS и индексируют только тот самый единственный DOM элемент, который существует на этапе отдачи страницы в браузер. Это уже потом к нему JS движком дорисовывается весь остальной сайт. Соответственно, сайт индексируется от слова "никак", а некоторым это важно. Например, когда SPA — это не админка. Для этого есть два выхода: страницы, важные для SEO, рендерить чем-то не-реактовым или сделать SSR — делать за яндекс работу на сервере (на ноде), представляя в уме, что у нас есть DOM и браузер (на самом деле нет), на выходе получать начальное состояние HTML, отдавать его клиенту (браузеру или поисковому роботу), а JS'ом её т.н. "гидрировать", иными словами — оживлять.

    7. webpack отвечает за всё вот это сверху в том или ином виде. Это такой кухонный комбайн, в который вкидываешь кучу хлама в одном виде, а получаешь другую кучу хлама в другом виде.

    Начать советую с parceljs, который сильно проще в освоении, чем webpack. И на написании кода максимально без библиотек.
    Ответ написан
    1 комментарий
  • Есть ли psql client для centos?

    vabka
    @vabka
    Токсичный шарпист
    Вариант раз:
    pgcli на питоне: https://github.com/dbcli/pgcli
    Вариант два:
    dnf install postgresql

    Есть три пакета:
    postgresql-libs - с базовыми библиотеками
    postgresql - с psql
    postgresql-server - непосредственно с СУБД postgresql
    Ответ написан
    Комментировать
  • Проблема компиляции с Pyinstaller?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Нет, не проблема компиляции с Pyinstaller.
    Ответ написан
    2 комментария
  • Что нужно установить и сделать, чтобы начать пользоваться?

    shurshur
    @shurshur
    Самый простой способ - использовать perl. У него есть специальные ключи, которые автоматизируют выполнение из командной строки, цикл и печать в конце цикла. В результате команде можно передать просто регулярку или сделать простой однострочник, применяемый к каждой строке файла.

    Ключ -e заставляет считать первый аргумент кодом, а не именем файла.
    Ключ -n оборачивает этот код в цикл while(<>) { ... }
    Ключ -p добавляет в конец print.

    В результате команда perl -pne 's/foo/bar/' превращается в аналог скрипта такого содержания:

    while(<>) {
      s/foo/bar/;
      print;
    }


    Конечно, как нетрудно догадаться, такой вызов аналогичен вызову sed s/foo/bar/ Таким образом, perl можно использовать почти как sed или awk, только с более богатыми регулярными выражениями и более широкими возможностями программирования.

    Например:

    some_command|perl -pne 's/foo/bar/g; s/lorem (\d+)/\1 ipsum/g' > output.txt
    perl -ne '/([_\w]+)\s*=\s*"(.+)"/ && print "key $1 value $2\n"' /etc/environment
    Ответ написан
    3 комментария
  • Что значит префикс "х" в адресе сайта?

    AgentSmith
    @AgentSmith
    agent
    Это поддомен, а не префикс.
    Или домен третьего уровня.
    Ничего он не означает, так же как и m.
    Ответ написан
    Комментировать
  • Как установить драйвера pdo для postgresql на php7.2 Centos 7?

    @Bobson8
    Системный администратор
    Репозиторий рабочий бы добавить, для начала. Потом и пакеты ставить нужные.
    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-relea...
    yum install php72w-pgsql
    Ответ написан
    Комментировать
  • Можно ли как-то подменить свой IP адрес на сервере НЕ используя proxy или vpn?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    Нормальные сайты не доверяют ip которые приходят в X-Forwarder-For
    Поэтому единственный надёжный способ смены ip это vpn/proxy так как сервер всегда видит фактический адрес с которого сделано соединение, как правило он лежит REMOTE_ADDR и подделать его нельзя.
    Ответ написан
    Комментировать
  • Как быстро и надежно закрывать задачи по сайту не нанимая программиста?

    nowm
    @nowm
    Могу ответить с точки зрения фрилансера:

    Если через пару месяцев сложно рассчитывать на работу, значит у вас есть какие-то проблемы в организации работы. Например, с вами психологически тяжело общаться в процессе или вы не спешите оплачивать работу, задерживаете оплату и т.п. Если человеку стало некомфортно с вами работать, он обычно доделывает текущую работу, но дальше с вами работать никогда не будет — будет только придумывать отмазки, что сейчас завален работой или тому подобное. Напрямую такие вещи высказываются очень редко.

    Вот несколько советов, которые помогут улучшить «возвращаемость» фрилансеров:
    • Чаще всего фрилансер готов делать работу сразу (особенно когда работает с вами первый раз), он показывает рвение и очень быстро всё делает. С вашей стороны ожидается, что вы можете оплатить работу мгновенно после того, как всё сделано и проверено как фрилансером так и вами. Если вы скажете фрилансеру, что вам нужно некоторое время, чтобы дойти до банкомата и пополнить счёт, потому что прямо сейчас не можете заплатить, это очень сильно испортит впечатление, и с большой вероятностью человек не покажет виду, спокойно без психов подождёт, когда вы ему заплатите, но в следующий раз работать с вами больше не будет. Фрилансер готов работать сразу, значит и вы должны быть готовы платить сразу.
    • Если у вас низкая техническая подготовка, и фрилансеру приходится кроме самого кода очень много общаться с вами на тему, что именно нужно делать, желание работать дальше тоже пропадает. Чем меньше требуется обсуждений и созвонов в мессенджере, тем больше веротность, что фрилансер и дальше будет с вами работать. Фрилансеры обычно не считают переписку частью оплачиваемой работы и, соответственно, чем больше времени будет занимать переписка, тем меньше будет желание продолжать работу. Фрилансер обычно хочет сразу делать работу и не отвлекаться на всякую бесплатную болтологию.
    • Если фрилансеру нужно заниматься в дополнение администрированием вашего сервера, а это заранее не обговаривалось, это тоже может испортить впечатление. Часто заказчики пишут, что им нужно поправить менюшку на сайте, а это в итоге превращается в правку менюшки, а потом залитие кода на сайт, настройка и перезапуск сервера и ещё какие-то подобные работы, которых в задании не было вообще. И, скорее всего, вы считаете само собой разумеющимся, что фрилансер должен уметь это делать, и думаете, что это нормальная практика, если он в дополнение к кодингу будет делать ещё и это. Дополнительно, если эти моменты ещё и не оплачиваются, шансы, что люди захотят с вами работать и дальше, снижаются ещё сильнее.
    • Некоторые заказчики любят показывать свой авторитет. Запомните, что для фрилансера вы не начальник, а равноправный партнёр, и он ждёт от вас соответствующего уровня общения. Если вы строите из себя начальника, люди будут придумывать любые отмазки, но повторно работать не станут.


    Вот это основные факторы, которые влияют на то, что вам ответит фрилансер, если вам понадобится помощь в следующий раз, и вы решите, что можно обратиться к тому, с кем раньше работали.
    Ответ написан
    8 комментариев
  • Почему ip 1 разворачивается в 0.0.0.1?

    SagePtr
    @SagePtr
    Еда - это святое
    Потому что IP-адрес - это число от 0 до 2**32-1. У единицы младший октет является единицей, остальные октеты - нулём, потому и получается 0.0.0.1.
    Точно также, 2130706433 - это 127.0.0.1
    Ответ написан
    Комментировать
  • Как сделать дамп большой базы данных?

    rozhnev
    @rozhnev Куратор тега MySQL
    Fullstack programmer, DBA, медленно, дорого
    Добавьте ключ --single-transaction

    mysqldump -u root -p basename --single-transaction > path/to/file.sql
    Ответ написан
    1 комментарий
  • На сколько хорош данный roadmap для PostgreSQL DBA?

    Melkij
    @Melkij
    PostgreSQL DBA, рассмотрю предложения о работе
    Его написал мой коллега https://github.com/kamranahmedse/roadmap.sh/pull/196 Алексей Лесовский после сбора фидбека со всей нашей команды DBA. Так что вряд ли раскритикую год спустя.

    "конца" у roadmap нет. troubleshooting и optimization бесконечны. А уж тем более необъятна hackers тематика.

    Если заходить со стороны разработки - создайте маленькую базу неважно какой тематики (да хоть q&a сервиса), заполните сгенерированными данными гигабайт на 10-100 и заставьте это шевелиться за вменяемое время под синтетической нагрузкой (хоть pgbench). А потом начните менять схему данных, не останавливая нагрузку. А потом восстановить базу на состояние до миграции из бекапа.
    Ответ написан
    Комментировать
  • Как узнать версию windows, если в заголовках и системе они разные?

    vabka
    @vabka
    Токсичный шарпист
    1. А зачем?
    2. Никак, тк в заголовке может идти буквально что угодно.
    3. Заголовок в этом случае вполне правдив, и говорит, что у тебя NT 6.1 - это и есть win7
    Ответ написан
    2 комментария
  • Агрегация сетевых каналов?

    gbg
    @gbg Куратор тега Компьютерные сети
    Любые ответы на любые вопросы
    Все правильно. Два гигабита между двумя конкретными хостами можно получить только при политике Round-Robin, (когда пакеты по очереди попададают то в один, то в другой сетевой интерфейс).

    Венда и циско это не поддерживают - только линукс и микротик.

    В остальных случаях, вы будете иметь ускорение для доступа от разных хостов (потому что при политике разделения по макам, которая является дефолтной, пакеты в интерфейсы будут попадать в зависимости от MAC)
    Ответ написан
    1 комментарий
  • Выводятся какие-то цифры и ошибка, что не так?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Ошибка, если ее перевести, означает: вы вышли за границу массива arr.

    Смотрите внимательно, где вы к нему обращаетесь. Особенно на arr[j + 1]. Какие значения может принимать j? Какой размер массива и, соответственно, к каким индексам можно обращаться?
    Ответ написан
    Комментировать
  • Насколько мой код читабелен?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Это все конечно очень хорошо, но в репе лежат симлинки вместо файлов. Так что пока оценка -10/10 - достигнут предельный радиус кривизны рук.
    Ответ написан
    3 комментария
  • Как убрать слэш в конце одной страницы при htaccess редиректе?

    megafax
    @megafax
    web-программист
    Это Вам СЕО-специалисты такое сказали? Не получится так никак, поскольку главная - она же "/" всегда так запрашивается. Вот как в HTTP запросе "GET /" - убрать "/" ?
    Ответ написан
    1 комментарий
  • Почему NGINX неправильно определяет ip адрес сервера по dns имени?

    dimonchik2013
    @dimonchik2013
    полковник Андрейченко
    а что. в server name уже можно протокол/схему писать?

    nginx.org/ru/docs/http/server_names.html

    или это такая регулярка? ))
    Ответ написан
    1 комментарий
  • Как запустить команду в Linux в фоновом режиме сохраняя консольный вывод в файл с помощью tee?

    Lynn
    @Lynn
    nginx, js, css
    Программа dd выводит отчёт не в stdout, а в stderr. Так что нужно сначала перенаправить stderr в stdout, а потом передавать его в tee:

    # башизм
    dd if=/dev/zero of=/tmp/zerofile  bs=100M count=5 |& tee ku.log &
    # должно работать везде
    dd if=/dev/zero of=/tmp/zerofile  bs=100M count=5 2>&1 | tee ku.log &
    Ответ написан
    Комментировать