Задать вопрос
  • Обязателен ли диплом computer science или математика, физика для получения рабочей визы в Германии, США?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Нет. Но значительно повышает шансы на получение визы.
    Ответ написан
    Комментировать
  • Как оптимизировать данный скрипт?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    А зачем?
    Тут все достаточно оптимально.
    Ну разве что заменить `` на $()
    И year и month не вычислять каждый раз, а сделать это один раз.

    #!/bin/sh
    # Пример пути до сайта /var/www/site.ru/web/
    SITEDIR="/var/www"                                  # Папка до названия доменаов
    WEB="web"                                           # Папка после названия доменов (если есть)
    LIST=${1:-$(ls -L $SITEDIR | grep -E ".*\.\w{1,5}")} # Название сайта, тут выбор или аргумент или, регулярка  можно убрать только -L ;) 
    DBCONN="bitrix/php_interface/dbconn.php"            # Откуда читать настройки mysql
    FTPUSER="*******"                                   # Логин FTP сервера
    FTPPASS="****************"                          # Пароль FTP
    FTPHOST="**************************"                # сервер FTP
    FTPDIR="/server8/site/"                             # папка на FTP
    TMPDIR="/var/backup/site"                           # Где будут храниться временные файлы
    DATE=$(date +"%Y-%m-%d")
    YEAR=$(date +%Y)
    MONTH=$(date +%m)
    
    test ! -d $TMPDIR/$YEAR/$MONTH && mkdir -p $TMPDIR/$YEAR/$MONTH # создаем  структ уру каталогов если их нет
    
    for ELEMENT in $LIST
        do
        if [ ! -f /$SITEDIR/$ELEMENT/$WEB/$DBCONN ]; 
          then
              echo " Файл $SITEDIR/$ELEMENT/$WEB/$DBCONN не найден, сайт будет без БД!"
          else        
            DBLOGIN=$(grep "^\$DBLogin =" $SITEDIR/$ELEMENT/$WEB/$DBCONN | cut -f2 -d'"')
            DBPASS=$(grep "^\$DBPassword =" $SITEDIR/$ELEMENT/$WEB/$DBCONN | cut -f2 -d'"')
            DBNAME=$(grep "^\$DBName =" $SITEDIR/$ELEMENT/$WEB/$DBCONN | cut -f2 -d'"')
            mysqldump -u$DBLOGIN -p$DBPASS $DBNAME > $SITEDIR/$ELEMENT/$WEB/$DBNAME-$DATE.sql && echo "Дамп БД $DBNAME будет сохранен в корне сайта"  ||  echo "Ошибка дампа базы данных " $DBNAME
        fi 
    
        echo "Архивируем сайт $ELEMENT" 
      tar -cvpzf $TMPDIR/$YEAR/$MONTH/$ELEMENT-$DATE.tar.gz --directory $SITEDIR/$ELEMENT/$WEB --ignore-failed-read --exclude='./bitrix/tmp' --exclude='./bitrix/updates' --exclude='./bitrix/backup/*\.gz*' --exclude='./bitrix/backup/*\.tar*' --exclude='./bitrix/cache' --exclude='./bitrix/managed_cache' --exclude='./bitrix/stack_cache' --exclude='./upload/resize_cache' --exclude='./stats' . >> /dev/nool 2> /var/log/backup_error.log
      rm -f $SITEDIR/$ELEMENT/$WEB/$DBNAME-$DATE.sql # поскльку ложим на реальный сайт, ибо нормально добавить в архив не получитяс.
      
      echo "Сохраняем $ELEMENT на FTP"
      wput  --basename=$TMPDIR --limit-rate=60000K --timestamping  --remove-source-files --tries=2 $TMPDIR/$YEAR/$MONTH/$ELEMENT-$DATE.tar.gz ftp://$FTPUSER:$FTPPASS@$FTPHOST$FTPDIR
      rm -f $TMPDIR/$YEAR/$MONTH/$ELEMENT-$DATE.tar.gz
      done
    rm -r $TMPDIR


    Если хотите оптимизировать, надо менять правила игры. Например выяснить, что на удаленный хост можно не ftp, а ssh тогда можно разные вещи делать, начиная от tar прямо на удаленный хост, или вообще подключить удаленный хост по NFS и сразу на него ложить как в папку.
    Не очень понятно, что вы имеете ввиду про "сохранить 1 задачу"
    Ответ написан
  • C# или Java для игр?

    saboteur_kiev
    @saboteur_kiev Куратор тега Разработка игр
    software engineer
    Какой язык больше подходит для написания игры (Unity в расчет прошу не принимать)

    Больше всего подходит бейсик.

    Прошу объяснить почему.

    1. Это не юнити.
    2. Я на нем сокобан за час сделал.

    P.S. Игры бывают разные. Платформы бывают разные. Знания бывают разные. Вам нужно больше деталей. А так игры можно на чем угодно писать.
    Ответ написан
    Комментировать
  • На чем написать простое многопользовательское приложение?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Почему нельзя сделать простенькую систему на php + js + mysql, и не городить "большую систему".
    Просто потратьте деньги, наймите студию которая напишет вам приложение раз и навсегда.
    Ответ написан
    Комментировать
  • Как хранятся данные при сегментной адресации в реальном режиме?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    потому что минимальная адресуемая размерная единица ячейки памяти - 1 байт (8 бит).
    Весь компьютер так устроен.
    В 8 бит помещается число от 0 до 255, или в шестнадцатиричной системе (которая чаще используется для работы с байтами) от 00 до FF

    сегмент это обычно 64 килобайта, что адресуется двумя байтами (от 0000 до FFFF)
    Ответ написан
    Комментировать
  • Что нужно знать, чтобы заниматься анализом данных?

    saboteur_kiev
    @saboteur_kiev Куратор тега Python
    software engineer
    Надо знать предметную сферу, и да, владеть алгоритмами.
    Дальше все зависит от предметной сферы.
    Если работаешь в области физики - хорошо знать физику. Если в области финансов - финансы и так далее.
    Ответ написан
    2 комментария
  • Простой 3д редактор для планировки интерьера/квартиры, в идеале бесплатный?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Поищите на торрентах proSto - как раз для мебели и планировки создавалась.
    Ответ написан
    2 комментария
  • Как определиться с выбором языка программирования?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    А зачем вам это? Синтаксис обычно изучается за пару дней.
    Попробовать нужно не языки программирования, а технологии.
    Поставьте себе задачу не хелловорлд, а чуть посложнее, напишите ее на разных языках, посмотрите где вас больше прет.
    Или тупо ставьте себе задачу посерьезнее и пишите на разных языках разные части.
    Ответ написан
    1 комментарий
  • Какой программой можно дефрагментировать мелкие файлы в папке?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    1. Ramdisk.
    2. NTFS компрессия может помочь, если файлы хорошо жмутся.
    3. Виртуальный диск или даже криптодиск, в который вы сразу после форматирования скопируете файлы последовательно.
    4. Разобраться что за программа, может она умеет что-нибудь еще.
    Ответ написан
    Комментировать
  • Как запустить код на C из perl?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Скрипта на С не существует. С это компилируемый язык, его нужно скомпилировтаь в исполняемый файл. Либо у вас скрипт не на С.

    И дело не в перл. Перл у вас скорее всего просто запускает внешний файл.
    Windows запускает ассоциированную программу - у вас visual studio.
    Видимо нужно найти и поставить интерпретатор С
    Ответ написан
    4 комментария
  • Как сделать автоматическую сортировку входящих писем?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Именно так, чтобы просто перетаскиванием письма в папку создавалось правило сортировки - такого нет.
    А кнопочка "создать правило сортировки" есть практически в любом клиенте.
    Ответ написан
    Комментировать
  • Как посчитать экономию при отказе от сервера/серверов?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Для откровенно старых добавить риски по выходу из строя, риски по технологическому долгу, когда замена подобного сервера может выполняться в разы дольше.
    И вообще, откровенно старые, не поддерживаемые вендором нужно в принципе убирать из продакшена.
    Ответ написан
    Комментировать
  • Почему крон выполняет три запроса вместо одного?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    0 */1 * * * screen -dmS graph_servers_hour bash -c 'cd /var/gsmanager && php cron.php kJ3odY threads graph_servers_hour'

    Зачем */1 и screen если достаточно просто *

    0 * * * * cd /var/gsmanager && php cron.php kJ3odY threads graph_servers_hour


    Ну и судя по вашему прошлому вопросу, вы у себя видимо задачи уже путаете. Проверьте другие задачи. И упростите записи.
    Ответ написан
    Комментировать
  • Каким наиболее простым способом можно заменить запуск внешней команды в cmd на GUI программу с Drag & Drop?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    в cmd можно перетягивать файлы.

    Берете и пишете следующее

    myscript.bat
    echo "I want to execute %1 file"
    pause


    И перетягиваете на него нужный файл.
    Адаптируйте под себя
    Ответ написан
    2 комментария
  • Как группировать ПАПКИ в Windows 7?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    Папки это не инструмент работы виндовс, это инструмент работы файловой системы, которая одинакова везде, с небольшими отличиями, и вы ошибаетесь, если такие задачи возникают у каждого второго.
    Присвоить папке значение и кастомные поля не проблема. Но вы путаете файловую систему и систему управления проектами.

    Многие просто придумывают удобное именование папок и этого достаточно.
    Многие пользуются подходящими инструментами-каталогизаторами.

    Стандартные утилиты не будут сортировать по кастомным полям - вам нужно будет писать свой собственный файловый менеджер.

    Можете написать свое приложение, которое будет сортировать все так, как вам угодно, и хранить в базе путь к папке и любые дополнительные аттрибуты, и можно делать что угодно, поиск, фильтрацию и так далее. И будете искать все что нужно по вашему приложению.

    В качестве простых вариантов - можно в каждую папку сохранять текстовый файл с нужными вам параметрами, и выполнять поиск по ключевым словам, выводя папки с этими файлами. Но даже в этом случае, уже будет удобнее пользоваться внешним файловым менджером - FAR, Windows Commander.

    А в *nix файловые системы вообще кастомные поля нельзя сделать.
    Ответ написан
    Комментировать
  • Медленная работа Skype, язык или плохая оптимизация?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Он написан на Electron - весьма неповоротливый и прожорливый движок, все достоинство которого - очень быстрая разработка.
    Оптимизировать скайп по производительности вроде никто не собирается, а закрытость протокола препятствуют развитию клиентов от сторонних производителей
    Ведь на текущий момент достаточно альтернативных популярных мессенджеров, некоторые с открытой архитектурой и протоколами - бери и пиши.
    А реверс инженерить скайп, учитывая что Microsoft в любой момент может все поменять - означает что действительно проще кинуть свои силы в альтернативный мессенджер.

    Может когда-нибудь Microsoft вспомнит, что скайп все еще имеет свою немалую аудиторию и пойдет навстречу - ведь шагов в сторону опенсорса в последние годы от MS много. Но дойдет ли дело до скайпа - неизвестно. Microsoft больше внимания сейчас уделяет бизнес версии скайпа (бывшый Lynx aka Microsoft Communicator)
    Ответ написан
    Комментировать
  • Yii basic для простого сайта с админкой это говнокод?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Это не говнокод. Это может быть оверинженеринг для данной задачи, но если она включает получение вами опыта, а другу сойдет и так - то пилите.
    Ответ написан
    Комментировать
  • Почему в диспетчере задач показывается не вся задействованная оперативная память?

    saboteur_kiev
    @saboteur_kiev Куратор тега Windows
    software engineer
    Читайте - https://habr.com/ru/post/435678/
    диспетчер задач не самый лучший инструмент для точного понимания что происходит.
    Ответ написан
    Комментировать
  • Как заменить разные строки на разные данные в файле?

    saboteur_kiev
    @saboteur_kiev Куратор тега bash
    software engineer
    Ну можно так.
    Но задача у вас странная.. Ее бы в корне переделать.
    num=( 16 19 )
    text=( test1 test2 )
    declare -i index=0
    
    while [ -n "${num[$index]}" ]
    do
      echo "DEBUG: $index, ${num[$index]}, ${text[$index]}"
      sed -i -r "s/^${num[$index]}\./#${num[$index]}/" file
      sed -i -r "s/^[^\d#].*${num[$index]}/TEXT:${text[$index]}/" file
      index+=1
    done
    Ответ написан