• Скрипт который прерывается если в директории есть 2 файла с похожим названием?

    shambler81
    @shambler81 Куратор тега Linux
    я немного по другому выбрал количество файлов, но и верхний ответ тоже подходит, в зависимости от сложности имени файла возможно вариант с греп более предпочтительный поскольку можно задать более сложную маску файла, но в текущем тз подходят оба варианта

    if [ "$(ls test* | wc -l)" -le "2" ] ; then  echo true; else echo false; fi


    65311378f2f2f476815859.png
    Для удобства записал в одну строку.

    if -fi -условие

    -le - больше или равно
    then - если условие сработало то выводит эхо
    else - в противном случае
    Ответ написан
    1 комментарий
  • Как записать информацию из вывода в файл с неизвестным названием?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    как перенаправить информацию из вывода команд в файл, который создается в процессе проверки командой
    #touch $( date '+%Y-%m-%d_%H-%M' )

    Записать имя файла в переменную и дальше везде использовать её. Например:
    …
    file=$( date '+%Y-%m-%d_%H-%M' )
    touch "$file"
    …
    echo -e "               Product Name : $PN_FRU" >> "$file"
    …
    Ответ написан
    Комментировать
  • Как отредактировать dll-файл?

    Если никакой проверки целостности нет, то просто заменяешь этот текст на энное количество пробелов, чтобы не похерить оффсеты.

    Но вообще читерить плохо и в некоторых странах даже уголовно наказуемо.
    Ответ написан
    Комментировать
  • Не работает bin/bash в крон. Как решить?

    @SunTechnik
    Да тут вариантов ошибок - куча..
    1. Файл задания cron напрямую не редактируется. Для этого есть :
    crontab -e

    2. При прямом релктировании - есть риск ошибиться с форматом. Что у Вас сейчас в файле - непонятно. На первый взгляд, это не формат данного файла

    3. Если все же файл редактировали руками, cron надо перезапустить, что бы он перечитал задание.

    4. В логе работы cron будеет видно, запускал ли он задание и коды возврата.

    5. Как Вы сами пишите, перед запуском команды надо перейти в определенный каталог. Cron об этом ниичего не знает. Команда cd долдна быть внутри скрипта.

    6. Хорошим тоном считается, если скрипт начинается со строки, определяющей тип требуемого интерпритатора.
    #! /usr/bin/bash

    7. При запуске скрипта не надо запускать интерпритатор. Достаточно указать сам скрипт и что бы он имел права исполнения..

    .......
    Ответ написан
    Комментировать
  • Как установить Windows 95 с флешки?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    1. Отформатировать жесткий диск.
    2. Установить на него DOS
    3. Положить дистрибутив Win95 в папку на диске.
    4. Загрузиться в DOS с жесткого диска и запустить установку из командной строки.

    Примерно так мы поступали в 90х
    Ответ написан
    1 комментарий
  • Как правильно и удобно читать данные из БД?

    1. async-await используй
    2. Используй какую-нибудь orm-ку (EF core, Dapper, linq2db). Многие из них как правило явно запрещают параллельные запросы в рамках одной транзакции.

    Но вроде чисто в теории sqlite разрешает конкурентное чтение (но не запись)
    Ответ написан
    Комментировать
  • Может ли фотография профиля (аватар) самовольно изменить ориентацию?

    @WaterSmith
    Android-разработчик. Java, Kotlin
    А вы посмотрите там в приложениях, в профиле (можно в своем) насколько легко это делается? Если легко, то деликатно поинтересуйтесь у директора, не заходил ли он недавно в профиль, и не мог ли случайно нажать "вот эту кнопочку".
    Обычно эти тайны именно так и раскрываются.

    UPD: Зашел сам к себе в профиль, выбрал вертикальную фотографию (у которой высота больше ширины) - она вставилась боком, более того, повернуть её можно только на 45 градусов влево или вправо, выставить её нормально в настройках профиля не получается. Т.е. Майкрософт сам определяет что ширина у фотографии всегда должна быть больше высоты.
    Отсюда несколько выводов:
    1. Ваш пользователь выбрал фотографию профиля, и она сама установилась боком.
    2. Майкрософт хранит у себя исходники фотографий, и в какой то момент начала отображать их в профиле по такому принципу. (пользователи у которых фотка не повернулась, изначально загружали "ландшафтные" фотки).

    Мне кажется более вероятным 1й вариант.
    Ответ написан
    Комментировать
  • На каком движке делались ролики к играм PS1?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Большинство игр 90-2000х использовали rendered графику в заставках. И графика эта могла делаться
    на 3DStudio Max, Blender, Maya или на любом пакете который тогда существовал. Движок самой игры обычно
    для какой-то детальной анимации не годился. Посмотрите на заставку к Quake3, StarCraft там от самой игры
    даже моделей нет.
    Ответ написан
    Комментировать
  • Как защитить программу от копирования без интернета?

    wataru
    @wataru
    Разработчик на С++, экс-олимпиадник.
    Никак. Единствнный способ гарантированно защититься от нелицензионного копирования - это вынести ключевую часть функционала на сервер. Любая остальная защита - лишь усложнение реверс инжениринга и взлома. Всегда можно каленым железом вырезать любую проверку ключа из исполняемого кода.

    Активация ключа по телефону/интернету исключает лишь самый тривиальный способ "взлома" - просто копирование одной и той же лицензии по куче компьютеров без модификации исполняемых файлов.

    А так, берете какую-нибудь крипто библиотеку, выдаете сертификат, в котором подписываете своим приватным ключем "Лицензия выдана ООО рога и копыта". В программе зашит ваш публичный ключ. Программа проверяет файл лицензии, что он подписан вашим ключем. Но любой "хакер" умнее вас просто вырежет эту проверку из программы.
    Ответ написан
    4 комментария
  • Проблема разности частоты обновления на сервере и на клиенте?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Физическая модель мира не должна зависеть от ФПС на экране. Если ты победишь эту проблему
    то тогда никаких артифактов с отображением не будет. Для простоты ты можешь обновлять физику
    хоть 10 разв в секунду хоть 120 раз это не важно. А визуальная часть игры будет делать интеполяцию.
    Потому что засинхронизировать всех клиентов сетевой игры в принципе никогда невозможно.
    У них и таймеры будут не синхронны и производительность разная.
    Ответ написан
    Комментировать
  • Как выяснить, какие шрифты требуются приложению?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Поставьте совместимость с Windows XP.
    Ответ написан
    Комментировать
  • Как выполнить копирование данных в каталог?

    @rPman
    не монтируй сетевые каталоги при нестабильных сетевых соединениях, это проблема linux, как не крути она будет вылезать странными способами.

    Правильно, использовать ssh или специализированные протоколы и синхронизировать каталоги через них, вот на вскидку варианты:
    * scp, штатная утилита, работает через ssh, по сути это то же самое что cp только по ssh
    * rsync, продвинутая cp, может работать в т.ч. через ssh, умеет передавать дельту (но там вопрос про эффективность в быстрых сетях)
    * инкрементальные снапшоты btrfs, максимально эффективно позволяет получать и соответственно передавать дельту изменений в файловой системе (на уровне кластеров), скорость файловой системы не деградирует при использовании снапшотов, а в момент сбора дампа разницы диск не нагружен (все остальные способы сканируют каталоги и файлы чтобы выявить дельту)
    идеален для случаев если нужно синхронизировать огромное количество файлов либо огромные файлы.
    * кластерные/распределенные файловые системы, позволяют синхронизировать каталоги буквально один к одному в реальном времени (идеальны если нужно много читать и мало писать, типовая сетевая файловая система при чтении полезет к файлу в сеть, а кластерная - в локальную копию), есть нюансы и сложности. Например DRBD
    Ответ написан
    Комментировать
  • Как распаковать файл с неизвестным расширением?

    fzfx
    @fzfx
    18,5 дм
    никак не распаковать. ты просто скачал вирусню. удалить - лучшее, что ты можешь с этим сделать.
    Ответ написан
    1 комментарий
  • На чем пишутся современные десктопные приложения?

    mayton2019
    @mayton2019
    Bigdata Engineer
    java - "не подходит для десктопа"

    На платформе Java (Groovy, Kotlin) написана среда разработки Jetbrains Idea.
    Правда есть у меня подозрение что из библиотек там использован не Swing а SWT
    но я уж не помню я слишком давно этот вопрос изучал. За много лет многое могло поменятся.
    SWT не слишком кроссплатформенный.

    На Java написан менеджер закачек Vuze (Azureus) и такая векторная рисовалка как Yed
    которой я пользуюсь иногда.

    Еще OracleDeveloper, Beaver, SOAP-UI, и много всяких тулов программисткого толка.

    По поводу JavaFX но я честно говоря не видел чтоб кто-то
    активно что-то графическое на нем разрабатывал. Скорее всего это была наивная попытка
    исправить недостатки Swing. И сделать его ... более мультимедийным чтоли.

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

    Для окон остается что-то очень хардовое типа Photoshop, 3dMax, AutoCad где можно грузить на 200%
    клиентский CPU и ты реально будешь хотя-бы чувствовать пользу от такой отдачи.

    Все где формочки и гриды - потеряло рентабельность. Его дешевле делать на вебе т.к. разработчик
    веба стоит дешевле и внести резкое изменение в функционал очень легко.

    Поэтому не звучит вопрос что на Java десктопы не пишут. А их щас реально уже НИ НА ЧЕМ не пишут.
    Даже на С++. Реально только игры и редкие приложения типа там 1С или какие-то клиент-банки.
    Ответ написан
    7 комментариев
  • Какая база данных подходит для частых UPDATE и сортировки?

    rozhnev
    @rozhnev
    Fullstack programmer, DBA, медленно, дорого
    Исхлдя из того что я понял из вопроса, вы делаете два запроса в базу: поиск и затем обновление. Это можно сделать одним запросом тем самым существенно снизив нагрузку
    Ответ написан
    Комментировать
  • Как помигать светодиодом на Linux?

    Linux же ими как-то управляет, значит это возможно.

    А с чего взял что ими линукс управляет? Ими вполне может управлять материнская плата напрямую исходя из текущего состояния.
    Ответ написан
    2 комментария
  • Как открыть доступ к онлайн сервисам?

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

    Ибо спутниковый трафик очень дорогой, а канал узкий и заблокированы они не просто так.

    Если хочется в игры поиграть или кино посмотреть - скачивай их на берегу и переходи в автономный режим
    Ответ написан
    9 комментариев
  • Логи, ошибки Ubuntu человеческим языком, как?

    @pfg21
    ex-турист
    все есть в поиске интернета. проблемы с операционкой не только у тебя.
    п.с.: конкретно что непонятно.

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

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    NAS может пригодиться для резервного копирования данных всех устройств, где есть уникальные данные (комп/ноут/планшет/мобила), а также для сбора логов от устройств, которые могут генерировать логи (роутер/комп/контроллеры умного дома)
    Но есть пара нюансов

    Малинка слабовата для такого применения, а также низкая надежность. Но для тренировки можно, если результатом проекта будет не собственно устройство, а испытания и выводы о его пригодности.
    Ответ написан
    Комментировать
  • Как переделать код под ООП?

    mayton2019
    @mayton2019
    Bigdata Engineer
    Программирование в ООП предполагает что мир состоит из "объектов".
    Например твоя программ (процесс) калькулятор это уже объект. Даже не имея декларации
    она уже является объектом с точки зрения ОС.

    Но если твой преподаватель - такой душный, то сделай

    class Calculator {
       ...
    }

    Можно сделать объектом число и операцию над ним (унарная или бинарная) но это уже немотивированное
    (или слабо мотивированное) действие. Теоретики ООП всегда пишут что введение объекта должно иметь смысл. Иначе так можно
    дойти до абсурда и объявлять объектом любую чепуху, что только усложнит написание кода
    и создаст бюрократию на пустом месте.

    Поясни это преподавателю если он будет сильно настаивать на том что мало объектов.
    Ответ написан
    Комментировать