• На что обратить внимание при проектировании крупного ресурса?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    для форума, думаю реляционная БД в любом случае удобнее.
    В теории, если он достигнет размеров Хабра, можно будет вообще переписать продукт, к тому времени накопятся хотелки, накопится опыт что и как работает, что востребовано и что нет.
    База данных же скорее всего просот масштабируется, Индексируется, кластеризируется.
    Посмотрите как спроектированы базы популярных форумов (xenForo, IBP, vbulletin)- ничего особенного нет, хотя рассчитаны на огромное количество юзеров, но это решается больше железом. И все на реляционных базах.
    Ответ написан
    1 комментарий
  • Стоит ли работать в тех поддержке?

    xez
    @xez
    TL Junior Roo
    Существует такое деление: разработка и эксплуатация.
    Разработка - это разработка, собственно, а так же системная аналитика, тестирование, продуктовая разработка.
    Эксплуатация - это системное администрирование, поддержка, хелп-деск и т.д.
    И в эксплуатации и в разработке есть развитие.
    Например, в эксплуатации можно устроиться «поднимать трубку», за тем на вторую-третью линии, оттуда в сисадмины/дба/сети/безопасность/девопс куда уж занесет ну и менеджмент конечно.
    В разработке растут по грейдам, а там либо в менеджеры, либо в архитекторы/евангелисты.

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

    На ваш вопрос ответ такой: вам нужно самостоятельно определиться что вам интереснее, чем вам хочется заниматься. Если душа лежит в разработку - нужно как можно раньше именно ей и заниматься. Рост экспертизы в эксплуатации даст вам минимальное преимущество в дальнейшем трудоустройстве.
    Если же нравится «в эксплуатацию» - тоже классно; продолжайте карьерный путь, наращивайте экспертизу.
    Ответ написан
    2 комментария
  • Для чего в микросервисе задается порт 8080 если не используется http?

    @Everything_is_bad
    У нас
    вот у своих и спрашивай, нам-то откуда знать
    Ответ написан
    Комментировать
  • Как скомпилировать консольную программу C++ в .app?

    @dima20155
    you don't choose c++. It chooses you
    Потому что у ваша программа отработала и завершилась. Добавьте паузу, ожиданные ввода данных или что-то ещё и ваша программа будет ждать
    Вы же не удивляетесь, что запускаю компилятор, он останавливается после завершения работы? Вашей программе просто нечего больше делать.
    Ответ написан
    Комментировать
  • Как ввести корпоративную ЭЦП со своим УЦ?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Нет, ваша подпись будет значимой только внутри вашей организации.
    С остальными организациями вам надо будет заключать договоры о признании вашей ЭЦП.
    Действовать такая подпись будет не на все документы. Некоторые, например трудовой договор или счёт-фактура, подписываются только КЭП, выдаваемой аккредитованным УЦ.
    Ответ написан
    2 комментария
  • Что означает такая схема?

    @kalapanga
    Схема бывает "принципиальная" - отображает что и с чем соединено в принципе, а бывает "монтажная" - показывает реальное расположение элементов и соединений. Используемые сейчас любителями вместо нормальных схем "весёлые картинки" бывают чем-то средним. В общем, если взять для примера верхнюю картинку, то в реальном устройстве "два синих провода" могут встретиться как непосредственно на ножке GND, так и точно как на рисунке - где-то в отдалении, а непосредственно на ножку придёт один провод.
    Ответ написан
    Комментировать
  • Могут ли злоумышленники физический заразить материнскую плату?

    @Everything_is_bad
    Могут, только это не "заразить", а "поставить жучок".
    Ответ написан
    Комментировать
  • Какая версия Xubuntu предпочтительнее относительно текущей ситуации?

    @rPman
    Что за железо.
    Выбор ос определит версии библиотек и предуставленный софт который всегда можно сменить, если тебе нужен только гипервизор, можно сразу специализированный установить типа proxmox?
    Ответ написан
    Комментировать
  • Какой движок стоит изспользовать если я хочу разработать игру на подобие barotrauma?

    Jacen11
    @Jacen11
    годот, юнити или анриал, да, все так и есть
    если на плюсах то Unreal Engine
    раз не можете выбрать, писать свой точно не вариант
    плюсы и минусы этих движков разбираются в сотнях видео и статьях
    Ответ написан
    5 комментариев
  • Как изменить /dev/sda на другое название, и последствия?

    paran0id
    @paran0id Куратор тега Linux
    Умный, но ленивый
    Если прописать точку монтирования по UUID, то не должно сломаться при переименовании.

    Переименовать вручную вроде как нельзя, но можно добавить новое имя при помощи симлинка.
    Under systemd-udev its not possible to rename block devices, so using NAME=sda in udev rules doesn't work. Instead you must create symlinks using SYMLINK+="mydiska" or something. There are also whole trees of persistent name symlinks created by default now under /dev/disk/by-{id,label,partuuid,path,uuid}.


    Но зачем?
    Ответ написан
    Комментировать
  • Возможно ли с помощью traceroute определить, что пользователь использует прокси?

    @AUser0
    Чем больше знаю, тем лучше понимаю, как мало знаю.
    Вообще-то прокси сервер используется для HTTP-запросов. Пакеты traceroute в них не входят.

    А у вас на экране используется не прокси, а VPN, который действительно заворачивает в себя любой трафик, в том числе и traceroute.

    Но что-то не видно, что бы второй traceroute заканчивался адресом 100.64.0.18. Либо это второй traceroute доходит до конца, а первый прерывается на пол-дороги...

    И нет, нельзя. Потому что вы не можете заранее знать, сколько hop-ов должно быть от конкретного пользователя до конкретного сервера.
    Ответ написан
    5 комментариев
  • Не могу сообразить .NET Framework 3.5 Service pack 1 чего он хочет?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Очевидно, что для установки сервис-пака необходимо сначала поставить основной продукт.
    Ответ написан
    6 комментариев
  • Как не нарушить закон при установке ПО клиентам?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В случае Windows есть специальный вариант установки для сборщиков систем. В этом случае при включении компьютера первым делом будет выдано лицензионное соглашение, запрос на его принятие пользователем и запрос на ввод ключа или активацию через учётную запись Microsoft.
    Для остального ПО, принимая во время установки соглашение, вы лишаете пользователя права выбора. А без принятого соглашения большинство программ просто не установятся. Предустанавливать можно только те программы, которые показывают лицензионное соглашение не во время установки, а при первом запуске.
    Ответ написан
    Комментировать
  • Как не нарушить закон при установке ПО клиентам?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    Могу ли я установить ПО или ОС, а лицензию не ставить?

    Можете установить все что угодно, пока действует триал - все законно (если триал имеется), затем, приобрести лицензию (если требуется) и активировать ПО.
    Какие подводные камни?

    Если под "подводными камнями" имеется ввиду незаконная активация ПО (взлом, кряк итп), то:
    - УК РФ Статья 272. Неправомерный доступ к компьютерной информации.
    - УК РФ Статья 146. Нарушение авторских и смежных прав.

    Кстати, активация ПО лицензией, которая для этого не предназначена (например, лицензия windows за 100 рублей), так же попадает под статьи выше.
    Ответ написан
    Комментировать
  • Почему в наутилусе папка распаковывается за 1 секунду, а в Windows 1 минуту?

    @rPman
    Потому что в windows файловая система с настройками по умолчанию работает ЗНАЧИТЕЛЬНО хуже чем в linux, да и на синтетике даже в идеальных условиях там заметный процент разницы. И да, я знаю что wsl работает поверх виндового ntfs, даже тут это быстрее (в майкрософт поняли что если они не сделают wsl то они окончательно потеряют разработчиков, а они определяют в конечном счете сколько будет у ОС пользователей, поэтому на удивление сделали это хорошо)

    А дальше могу гадать - на windows включен штатный антивирусник, он КАЖДЫЙ создаваемый файл сначала проверит и только потом позволит завершить его запись и перейти к следующему.
    Ответ написан
    6 комментариев
  • В каких случаях возможно использование несертифицированного Web Application Firewall?

    @Refguser
    Делаю ИМ и другие решения
    В каких случаях могут использоваться такие решения?

    В любых, когда не требуется (никто не потребует) сертификации ФСТЭК.
    Ваш КЭП.

    ..На свой страх и риск..
    Ответ написан
    Комментировать
  • Как хранить баланс пользователя в разных валютах?

    @tukreb
    Вы не должны указывать куда пропали деньги, так как они не должны ни куда пропадать вообще.
    Пользователь выбирает тип валют в которой будет хранить и курс никак на это влиять не должен.
    Если пользователь хочет хранит в нескольких видах валюты, значит храните в нескольких типах валюты.
    Ответ написан
    8 комментариев
  • Как оптимизировать код с++ с рекурсией в времени?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Можно попробовать сделать микрооптимизации: функция F реализуется одним циклом (делите, пока делится на 10, потом берите последнюю цифру). S тоже можно считать циклом, а не рекурсией.

    Но скорее всего, этого не хватит. Это решение за O(q*log(q)). Ограничения на числа в условии не видно, но если там что-то порядка 2000000000, то ваша программа будет считать несколько секунд.

    Надо хорошенько подумать и применить математическую хитрость. Надо как-то считать числа в интервале p...q пачками, а не каждое отдельно.

    Что такое функция F? Это последняя ненулевая цифра в числе. Давайте вместо суммы значений F счиатать, сколько чисел из интервала дадут вот такое вот значение? Ну просто по последней цифре сложно сказать, сколько там чисел, а вот если еще зафиксировать количество пропущенных в конце нулей, то уже становится понятно, как подсчитать это. Вот допустим, вы считаете последнюю цифру d и там должно быть 3 нуля. Тогда вы ищети числа вида "xxxd000". Или их можно представить в виде d*1000+x*10000 для произвольного неотрицательного x. И вот вам надо подсчитать сколько таких чисел в интервале [p,q]. Ну решите 2 уравнения: d*1000+x*10000 >= p и d*1000+x*10000 <= q

    Таким образом вы за несколько арифметических действий и одну проверку можете подсчитать, сколько чисел вида "xxxd000" будут в интервале. Осталось циклом перебрать d от 1 до 9 и количество нулей от 0 до длины q. И вот у вас решение за O(log(q)).

    Edit:
    Вот код быстрого решения:
    int S(int p, int q) {
      int sum = 0;
      for (int d = 1; d < 10; ++d) {
        for (int tens = 1; tens <= q; tens *= 10) {
          int left = p - d*tens;
          if (left < 0) left = 0;
          else left = (left + 10*tens-1)/(10*tens);
          int right = q - d*tens;
          if (right < 0) right = -1;
          else right /= 10*tens;
          sum += d*(right - left + 1);      
         }
      }
      return sum;
    }
    Ответ написан
  • Почему эластику стало не хватать место в докере?

    Лучше вынести данные Эластика в отдельный том. Читай про Docker volumes.
    https://gist.github.com/anjilinux/f716adba057a2955...

    Еще попробуй добавить в docker-compose.yml в environment:
    - "cluster.routing.allocation.disk.watermark.low=90%"
          - "cluster.routing.allocation.disk.watermark.high=95%"
          - "cluster.routing.allocation.disk.watermark.flood_stage=97%"
    (тег кода портит отступы)
    Fix watermark errors
    Ответ написан
    Комментировать
  • Как автоматизировать установку и настройку VPN сервера?

    @Drno
    bash скрипт с набором нужных команд. Либо Ансибл - если надо массово устанавливать(хотя можно и parallel-ssh использовать)

    Vless элементарно упаковывается в докер. Нужный файл json монтируется в файле docker-compose yml

    Итого...
    ставим нужный софт - докер,компос, fail2ban итд по желанию
    копируем файлы для докер компос
    стартуем docker-compose up -d -f my.yml

    всё...

    краткий пример yml -
    version: '3'
    services:
      xray-turk:
        image: teddysun/xray:latest
        volumes:
          - /opt/xray-turk/config.json:/etc/xray/config.json
          - /opt/xray-turk/geosite.dat:/usr/local/share/xray/geosite.dat
        ports:
          - "443:443"
        restart: unless-stopped


    краткий bash для установки софта (который лично мне нужен) (да я знаю что там старый докер, но меня устраивает) -

    #!/bin/bash
    
    # Обновление пакетов
    sudo apt-get update -qq && sudo apt-get install jq fail2ban mc htop vnstat wget git curl rsync apt-transport-https ca-certificates software-properties-common -qq -y;
    
    # Добавление ключа репозитория Docker
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
    
    # Получение кодового имени текущей версии Ubuntu
    codename=$(lsb_release -cs)
    
    # Добавление репозитория Docker
    sudo add-apt-repository -y "deb [arch=amd64] https://download.docker.com/linux/ubuntu $codename stable";
    
    # Обновление пакетов после добавления репозитория
    sudo apt-get update;
    
    # Установка Docker
    sudo apt-get install docker-ce -qq -y;
    
    # Установка Docker Compose
    sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    
    # Добавление прав на выполнение для Docker Compose
    sudo chmod +x /usr/local/bin/docker-compose


    Желание комерческой поддержки - милости просим в ТГ )
    Ответ написан
    Комментировать