Каков самый полезный сценарий, который Вы записали для повседневной жизни? [закрытый]

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
131
задан 5 revs, 4 users 100% 3 May 2012 в 14:43
поделиться

77 ответов

Мой o ключ уменьшился на моем ноутбуке; таким образом, я записал программу, которая заменяет два "0" нажатия клавиш в течение 200 мс друг друга как o, два "0" нажатия клавиш в течение 700 мс друг друга как 0, и проигнорируйте остальных; таким образом, я мог использовать свой ноутбук, прежде чем я найду время для замены клавиатуры.

, Ничего себе; я не знал, что это будет настолько популярно :p

Что касается того, как - Microsoft выставляет миленькую функцию API под названием "Рычаги".

http://msdn.microsoft.com/en-us/library/ms644959 (По сравнению с 85) .aspx#wh_keyboard_llhook

Используя тот рычаг; я смог записать "фильтр", который сделал то, что мне был нужен он, чтобы сделать (подсказка: если Вы возвратитесь 1 с Вашими окнами обратного вызова, то не обработает нажатие клавиши).

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

И да. Я действительно писал другую программу, которая подкачала алфавитно-цифровые ключи со случайным алфавитно-цифровым ключом и да; это было действительно забавно :D

114
ответ дан 24 November 2019 в 00:13
поделиться

Сценарий жемчуга, который очищает мой локальный Craigslist, выбранными категориями, в к DB SQL, против которого я могу затем запросить.

V2 этого обновляет DB с таймером и предупреждает меня, если у меня есть соответствие на каком-либо из запросов, в основном предоставляя мне фоновый агент для CL.

11
ответ дан 24 November 2019 в 00:13
поделиться

Массовое переименование файла через drag& отбрасывание.

Давным-давно я сделал маленький VBScript, который принимает RegEx и заменяет имена файлов соответственно. Вы просто отбросили бы набор файлов или папок на нем. Я нашел что быть очень полезным в течение лет.

gist.github.com/15824 (Остерегаются, комментарии находятся на немецком языке)

8
ответ дан 24 November 2019 в 00:13
поделиться

Потоковый скребок HTML для загрузки всех доступных подзаголовков для ряда/фильмов от сайта, который является болью для использования (необходимо нажать как 4 раза после поиска, чтобы добраться до страницы загрузки, только отобразить больше рекламы). Теперь я просто поместил загрузка нажатия и критерии поиска.

11
ответ дан 24 November 2019 в 00:13
поделиться

dir псевдонима ='ls - al' является моим предпочтительным любимым сценарием.

11
ответ дан 24 November 2019 в 00:13
поделиться

Сценарий Механика, который удаляет очевидно глупый [*] комментарии от играющего сайта Kotaku.com.

[*], Как определено общими орфографическими ошибками, записью всех заглавных букв, чрезмерным использованием "LOL" и подобной эвристики.

12
ответ дан 24 November 2019 в 00:13
поделиться

"backup.sh", что смолы содержание каталога и посылают его на мой счет Gmail.

14
ответ дан 24 November 2019 в 00:13
поделиться

Я - пилот-любитель. Я записал несколько сценариев, которые получают информацию о погоде для локальных аэропортов с aviationweather.gov. Они были полезны для быстрого ответа на вопрос, "Сегодня хороший день для полета?"

13
ответ дан 24 November 2019 в 00:13
поделиться

Несколько лет назад я записал приложение winforms с помощью некоторых win32 API для завершенной блокировки меня из моего компьютера в течение часа так, чтобы это вынудило меня пойти и тренироваться. Поскольку я был ленив? Нет..., потому что у меня была персональная цель фитнеса. Иногда Вам просто нужно немного удара для начала работы :)

32
ответ дан 24 November 2019 в 00:13
поделиться

Я записал сценарий Python, который перейдет ко всем веб-комиксам, которые я прочитал и загружаю любые новые комиксы. Я просто выполняю это один раз в день, и нет никакой потребности посетить каждый сайт индивидуально, просто посетить/Comics/Папку.;)

15
ответ дан 24 November 2019 в 00:13
поделиться

Это, от регистрации в моем блоге несколько месяцев назад, пошло от того, чтобы быть идеей, что я думал, было прохладно к одному из лучших небольших взломов, которые я выкашлял в недавней памяти. Я заключаю его в кавычки полностью здесь:

==================

Я провожу много времени в ударе. Для непосвященного удар является системой, которую Вы найдете на большинстве машин Unix и, к счастью, некоторых окнах и каждом Mac там. На первый взгляд это - не больше, чем интерфейс командной строки, и поэтому от радара большинства пользователей, которые рассматривают такие вещи как анахронизм, который они забыли бы.

Я делаю почти все в ударе. Я ПРОЧИТАЛ СВОЮ ЭЛЕКТРОННУЮ ПОЧТУ ИЗ КОМАНДНОЙ СТРОКИ, которая является, почему я сторонюсь отмеченной электронной почты. Я перемещаюсь по каталогам, редактирую файлы, участвую в моем ежедневном контроле исходного кода и доставке, ищу файлы, поиск в файлах, перезагружаю мою машину и даже иногда просматриваю веб-страницы из командной строки. удар является основой и душой моего цифрового существования.

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

Когда Вы делаете это, Вы заканчиваете с большим количеством окон на Вашей панели управления, названной просто, "удар". Это прекрасно, если у Вас только есть один из них, но его муки, когда Вы имеете 6 или больше.... и две дюжины других вещей, продолжающихся. У меня есть три монитора при одновременной команде одной пары клавиатуры/мыши, и я все еще чувствую потребность в больше. Каждое из тех окон имеет несколько открытых терминалов удара.

Таким образом, я ронял это вместе. Во-первых, поместите эти строки в свой .bash_profile:

  export PROMPT_COMMAND='export TRIM=`~/bin/trim.pl`'
  export PS1="\[\e]0;\$TRIM\a\]\$TRIM> "
  trap 'CMD=`history|~/bin/hist.pl`;echo -en "\e]0;$TRIM> $CMD\007"' DEBUG

Я прошел и записал десятки абзацев о том, как это все работает и точно почему это настраивается путем, это, но Вам действительно не интересно.Поверьте мне. Существует вся глава книги в том, почему я сделал "CMD =...; отзовитесь эхом..." на той третьей строке. Многие люди (включая bluehost, где мой другой домен размещается) все еще используют и старая версия удара с главными ошибками в том, как это обрабатывает прерывания, таким образом, мы застреваем с этим. Можно удалить CMD и заменить его $BASH_COMMAND, если Вы являетесь текущими на своей версии удара и испытываете желание проводить исследование.

Так или иначе первый сценарий, который я использую, здесь. Это создает хорошую подсказку, которая содержит Ваше название машины и каталог, срубленный к разумной длине:

                       ============trim.pl===========
  #!/usr/bin/perl

  #It seems that my cygwin box doesn't have HOSTNAME available in the 
  #environment - at least not to scripts - so I'm getting it elsewhere.
  open (IN, "/usr/bin/hostname|");
  $hostname = <IN>;
  close (IN);
  $hostname =~ /^([A-Za-z0-9-]*)/;
  $host_short = $1;

  $preamble = "..." if (length($ENV{"PWD"})>37);

  $ENV{"PWD"} =~ /(.{1,37}$)/;
  $path_short = $1;

  print "$host_short: $preamble$path_short";

                        ==============================

Существует предупреждение наверху этого сообщения в блоге, что необходимо читать теперь, прежде чем Вы начнете задавать глупые вопросы как, "Почему Вы только не использовали переменную среды ИМЕНИ ХОСТА через @ENV?" Простой: Поскольку это не работает на все системы, я примерил его.

Теперь для действительно прохладного бита. Помнить строку 3 из .bash_profile дополнения?

  trap 'CMD=`history|~/bin/hist.pl`;echo -en "\e]0;$TRIM> $CMD\007"' DEBUG

Это выводит trim.pl вывод сценария в том же контейнере как прежде, печатая и к командной строке и к заголовку окна, но на этот раз это добавляет команду, которую Вы просто ввели! Поэтому Вы не хотите делать все это в своем .bashrc: любой скрипт, который Вы запускаете (на моей машине, человек является одним из них) инициирует эту вещь на каждой строке. вывод человека становится серьезно искаженным тем, что мы делаем здесь. Мы точно не играем по правилам с терминалом.

Для захвата команды, Вы просто ввели, мы берем историю удара и ставим на карту ее немного:

                        ===========hist.pl============
#!/usr/bin/perl

while (<STDIN>)
{
        $line = $_
}

chomp $line;
$line =~ /^.{27}(.*)/;
print $1;
                        ==============================

Таким образом, теперь у меня есть огромное количество движений окон, и они говорят вещи как:

  castro: /home/ronb blog
  Ron-D630: /C/ronb/rails/depot script/server
  Ron-D630: /C/ronb/rails/depot mysql -u ron -p
  Ron-D630: /C/ronb/rails/depot find . > /C/ronb/system.map
  Ron-D630: /C/ronb/rails/depot vi app/views/cart.html.erb
  Ron-D630: /C/perforce/depot/ p4 protect
  Ron-D630: /C/perforce/depot/ p4 sync -f
  Ron-D630: /C/perforce/depot/

От счастливой небольшой панели внизу экрана, я могу теперь сказать, который является который на взгляд момента. И потому что мы установили PS1, как только команда заканчивает выполняться, название команды заменяется просто выводом trim.pl снова.

ОБНОВЛЕНИЕ (тот же день): Этот материал (.bash_profile записи) положил все виды ада на мне, когда я попробовал его в своем .bashrc. Ваш .bashrc выполняется неинтерактивными сценариями каждый раз, когда Вы вызываете удар как язык. Я поразил это, когда я пытался использовать человека. Все виды мусора (полный текст моего .bashrc, плюс символы Escape) обнаружились наверху страницы справочника. Я предложил бы тестировать этот драгоценный камень с быстрым 'вызовом' человека человека в командной строке, после того как Вы собираете все это.

Я предполагаю, что пора мне вытащить пользовательский мусор из моего .bashrc и поместить его, где это принадлежит...

Incedentally, я вводил 'прерывание человека' однажды в этом процессе.

8
ответ дан 24 November 2019 в 00:13
поделиться

У меня есть сценарий Python, который автоматически работает, когда я включаю свой цифровой фотоаппарат.

Это копирует все изображения от карты на камере, создает резервную копию их и затем загружает их на Flickr.

<час>

часть загрузки на Flickr прибывает от uploadr.py (который я не могу приписать себе).

Вот код Python для разгрузки камеры. Это рекурсивно вызывает через SRCDIR и называет каждое изображение с датой & время прежде, чем скопировать изображения в DESTDIR.

#!/usr/bin/python

import os
import string
import time
import shutil

###################################################
__SRCDIR__ = "/mnt/camera"
__DESTDIR__ = "/home/pictures/recent"
###################################################
def cbwalk(arg, dirname, names):
    sdatetime = time.strftime("%y%m%d%H%M")
    for name in names:
        if string.lower(name[-3:]) in ("jpg", "mov"):
            srcfile = "%s/%s" % (dirname, name)
            destfile = "%s/%s_%s" % (__DESTDIR__, sdatetime, name)
                    print destfile
            shutil.copyfile( srcfile, destfile)
###################################################
if __name__ == "__main__":
    os.path.walk(__SRCDIR__, cbwalk, None)
38
ответ дан 24 November 2019 в 00:13
поделиться

На Windows XP я установил В задании для выполнения этой команды ежедневно в C:\

dir /s /b * > dirlist.txt

This lists the full path of all files on the C drive. Затем каждый раз, когда я должен найти файл, я могу использовать findstr. Это бьет использование Поиск Windows Explorer, так как это позволяет соответствие регулярного выражения на всем пути. Например:

findstr ".jpg" dirlist.txt
findstr /i /r "windows.*system32.*png$" dirlist.txt

Это - очень быстрое решение настроить, и большой при нахождении с новой установкой Windows и никаким интернет-соединением.

, Если необходимо искать в определенных типах файлов некоторый шаблон, сначала перечислите все файлы, которые необходимо проверить, затем искать в них. Например, для нахождения Java или программы Python, которая зеркально отражает изображение, Вы могли сделать это:

findstr "\.java \.py" dirlist.txt > narrowlist.txt
findstr /i /r /f:narrowlist.txt "flip.*image"
62
ответ дан 24 November 2019 в 00:13
поделиться

Супер удаленная кнопка сброса.
стойка А супер специальное предложение аппаратные средства моделирования (поддерживающий дни, когда комната, полная ящиков VME, сделала меньше, чем Ваш GPU), который пользователь с другой стороны мира разрушит в ранние часы утра. Потребовался час для вхождения в лабораторию и через безопасность.

, Но нам не разрешили соединиться с супер специальное предложение контроллер или изменить аппаратные средства. Решением была старая рабочая станция DEC с матричным принтером epson, запишите на ленту пластмассовую линейку к кнопке подачи бумаги, расположите принтер около кнопки сброса.
Входят в систему WS как обычный пользователь (никакой позволенный корень, все внешние порты, заблокированные вниз), печатают документ с 24blank строки - который повернул кнопку подачи бумаги и линейку, нажатую по сбросу на супер специальное предложение аппаратные средства.

67
ответ дан 24 November 2019 в 00:13
поделиться

У меня больше нет кода, но возможно самый полезный сценарий, который я записал, был, хотите верьте, хотите нет, в VBA. У меня был раздражающий коллега, у которого был такой короткий предохранитель, что я назвал его Бомбой Cherry. Он часто рассердился бы, когда клиенты будут звонить и затем вставать и начинать разглагольствовать во мне по стене кабины, уничтожая мою производительность и моральный дух.

у меня всегда был открытый Microsoft Excel. Когда он сделал бы это, я буду, alt-tab к Excel и там, на панели инструментов, был новым значком с изображением вишневой бомбы. Я осторожно нажал бы это..., и ничего не произойдет.

Однако вскоре после, который я получил бы телефонный вызов и скажу что-то как "да, да, что звуки плохо. Я должен смотреть". И затем я встал бы, принес бы извинения Бомбе Cherry и ушел бы.

то, Что произошло, - то, что мы использовали NetWare, и ему встроили примитивную систему обмена сообщениями. Когда я нажал кнопку, маленький сценарий VBA отошлет сообщение NetWare моим друзьям, говоря им, что Бомба Cherry была в нем снова, и будут они, позвоните мне. Он никогда не понимал это :)

113
ответ дан 24 November 2019 в 00:13
поделиться

Мои .cmd копируют сценарий. Это работает на моем сервере каждую ночь и называет файлы резервных копий согласно недельному дню. Целая неделя резервных копий сохранила меня (и мое семейство) много раз:

:: Backup args:
::   /V Verify? (yes/no)
::   /R Restrict access to owner? (yes/no)
::   /RS Removable storage? (yes/no)
::   /HC Hardware compression (on/off)
::   /M Backup type (normal/copy/differential/incremental/daily)
::   /L Log file type (f/s/n)
::   /D "Description"
::   /J "Job-name"
::   /F "File-name"

SETLOCAL

:: ensure that network drives are mounted
CALL C:\bat\configs\MapShares-home.cmd
echo on

set today=%DATE:~0,3%
if %today%==Mon set yesterday=0Sunday
if %today%==Tue set yesterday=1Monday
if %today%==Wed set yesterday=2Tuesday
if %today%==Thu set yesterday=3Wednesday
if %today%==Fri set yesterday=4Thursday
if %today%==Sat set yesterday=5Friday
if %today%==Sun set yesterday=6Saturday

set configsDir=%~dp0
set storePath=C:\mybackups

:: (eg: Monday C files)
set title=%yesterday% backup set


echo %DATE% %TIME% %title% > "%storePath%\%yesterday%_backup.log"

CALL BackupConfigs.bat

:: Create new BKF file
call C:\WINDOWS\system32\ntbackup.exe backup ^
    "@%configsDir%\daily.bks" ^
    /V:yes /R:no /RS:no /HC:off /M normal /L:s ^
    /D "%title%" ^
    /J "%title%.job" ^
    /F "%storePath%\%yesterday%.bkf" ^
    >> "%storePath%\%yesterday%_backup.log"

echo %DATE% %TIME% Completed >> "%storePath%\%yesterday%_backup.log"

copy "%storePath%\%yesterday%.bkf" "V:\Backups\NEPTUNE"

CALL C:\bat\clean-temps.bat

defrag -v C: > "%storePath%\%yesterday%_defrag.log"

:: display backup directories
start /D"C:\bat\Backups\" checkbkf.bat

ENDLOCAL

::pause

14
ответ дан 24 November 2019 в 00:13
поделиться

Сценарий удара звонил так, чтобы, если я нахожусь в /a/very/deeply/nested/path/somewhere и я хотел пойти каталоги N, я могу ввести up N:

#!/bin/bash
LIMIT=$1
P=$PWD
for ((i=1; i <= LIMIT; i++))
do
    P=$P/..
done
cd $P

, Например:

/a/very/deeply/nested/path/somewhere> up 4
/a/very> 

нбар gmatt:

Отделывание от большой работы выше, это может быть расширено на заднюю функцию путем размещения следующего в bashrc:

function up( )
{
LIMIT=$1
P=$PWD
for ((i=1; i <= LIMIT; i++))
do
    P=$P/..
done
cd $P
export MPWD=$P
}

function back( )
{
LIMIT=$1
P=$MPWD
for ((i=1; i <= LIMIT; i++))
do
    P=${P%/..}
done
cd $P
export MPWD=$P
}
94
ответ дан 24 November 2019 в 00:13
поделиться

Я раньше работал в технологическом летнем лагере, и мы должны были составить эти рецензии для каждого из детей в группе в конце недели, которую они затем получат и заберут домой как подарок на память. Обычно, они состояли из набора универсальных предложений и одного - двух персонализированных предложений. Я записал сценарий Python, который создал одну из этих рецензий из банка консервированных предложений и позволил пользователю добавить несколько персонализированных предложений в середине. Это сохранило огромное количество времени для меня и других адвокатов, которых я впустил на секрете. Даже при том, что большая часть его была автоматизирована, наши рецензии все еще выглядели лучше, чем многие 'честные', потому что мы могли поместить больше времени в персонализированные части.

7
ответ дан 24 November 2019 в 00:13
поделиться

Быстрый и Грязный сценарий Python, который искал DNS для google.com каждые 5 секунд и подал звуковой сигнал однажды, если он успешно выполнился и дважды если он перестал работать.

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

7
ответ дан 24 November 2019 в 00:13
поделиться

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

5
ответ дан 24 November 2019 в 00:13
поделиться

Небольшое приложение, которые щелкают левой кнопкой (или дважды щелкают), каждый "X" мс для "Y" количества времени. Больше никакой потребности в той выпивающей птице работать в атомной электростанции! ;)

4
ответ дан 24 November 2019 в 00:13
поделиться

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

6
ответ дан 24 November 2019 в 00:13
поделиться

Я использую это в качестве автоматически загруженной функции. Я могу просто ввести "mycd", и список каталогов появляется который я часто CD к. Если я, оказывается, знаю затем число, я могу просто сказать что-то как "mycd 2". Для добавления каталога к списку, Вы просто вводите "mycd/tmp/foo/somedirectory".

function mycd {

MYCD=/tmp/mycd.txt
touch ${MYCD}

typeset -i x
typeset -i ITEM_NO
typeset -i i
x=0

if [[ -n "${1}" ]]; then
   if [[ -d "${1}" ]]; then
      print "${1}" >> ${MYCD}
      sort -u ${MYCD} > ${MYCD}.tmp
      mv ${MYCD}.tmp ${MYCD}
      FOLDER=${1}
   else
      i=${1}
      FOLDER=$(sed -n "${i}p" ${MYCD})
   fi
fi

if [[ -z "${1}" ]]; then
   print ""
   cat ${MYCD} | while read f; do
      x=$(expr ${x} + 1)
      print "${x}. ${f}"
   done
   print "\nSelect #"
   read ITEM_NO
   FOLDER=$(sed -n "${ITEM_NO}p" ${MYCD})
fi

if [[ -d "${FOLDER}" ]]; then
   cd ${FOLDER}
fi

}
6
ответ дан 24 November 2019 в 00:13
поделиться

Сценарий оболочки для выполнения вращающихся резервных копирований с помощью rsync. Это также поддерживает выполняющие произвольные дочерние программы для поддержки других предварительных операций резервного копирования (загружающий восхитительные закладки, например).

http://gist.github.com/6806

4
ответ дан 24 November 2019 в 00:13
поделиться

Сценарий Механика для добавления "нажатия, что кнопка много" блока управления к онлайн-игре.

6
ответ дан 24 November 2019 в 00:13
поделиться

Различные Ярлыки на "сетевой запуск" и "сетевую остановку" команды, таким образом, я могу запустить и остановить сервисы, не имея необходимость входить в сервисы MMC

4
ответ дан 24 November 2019 в 00:13
поделиться
#! /bin/bash
# check to see if site is up
#   if it is, don't worry
#   if it's down, restart apache after get a process listing
#
# v.1 Warren M Myers - initial stab
#     31 Aug 06
#

ERRCOD='7'
WHEN=`date +%d%b%y`
REPT="~/psaux.$WHEN.txt"
STARS='********************'

curl -I http://www.shodor.org > /var/tmp/curlret.txt

if [ "$?" = "$ERRCOD" ]; then
    # return was unable to connect to host: save ps -aux; mail report
    ps -aux > $REPT
    echo $STARS
    echo 'curl return results'
    echo
    cat curlret.txt
    echo
    echo $STARS
    echo 'ps -aux results'
    cat $REPT
    echo
    echo $STARS
    echo 'restarting apache'
    /etc/init.d/apache2 restart
    echo 'apache restarted'
    echo
    echo "ps -aux results saved in $REPT"
fi

rm -f /var/tmp/curlret.txt
6
ответ дан 24 November 2019 в 00:13
поделиться

На моем предыдущем месте работы рабочие часы были нелепыми. Это была софтверная компания, и мой босс был никудышным. Он давал нам работу около 17:30 (как раз тогда, когда нужно было идти домой), и заставлял закончить работу до 11:00 (намного дольше наших идеальных рабочих часов). Или он обнаруживал досадные проблемы в коде, который все еще выполнялся.

Итак я создал командный файл и сценарий, который выключал бы мой компьютер в случайное время между 19:00 и 20:00. . У него был таймер на 1 минуту на случай, если я останусь в нерабочее время и мне нужно будет прервать процесс выключения.

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

Я также запланировал в BIOS на моем компьютере включить его около 8:00 утра или 9 часов утра. : 00AM на случай, если я почувствовал себя ленивым и хотел прогуляться примерно в 10:00 или 11:00 утра. Если меня поймали, когда я шел к своему столу, он спрашивал: "Где ты был все утро?" И я бы сказал: «Я был на встрече с командой маркетинга». или «Я завтракал вне дома»

тупой пес

00:00 на случай, если я почувствовал себя ленивым и хотел прогуляться около 10:00 или 11:00. Если меня поймали, когда я шел к своему столу, он спрашивал: "Где ты был все утро?" И я бы сказал: «Я был на встрече с командой маркетинга». или «Я завтракал вне дома»

тупой пес

00:00 на случай, если я почувствовал себя ленивым и хотел прогуляться около 10:00 или 11:00. Если меня поймали, когда я шел к своему столу, он спрашивал: "Где ты был все утро?" И я бы сказал: «Я был на встрече с командой маркетинга». или «Я завтракал вне дома»

тупой пес

8
ответ дан 24 November 2019 в 00:13
поделиться

Написал сценарий, чтобы щелкнуть мою кнопку «Пуск», затем щелкнуть ее снова через полсекунды и повторять каждые 30 секунд.

На работе я помечен как «В сети», и я могу получить настоящая работа, проделанная на моем личном ноутбуке прямо рядом с ним. Не увяз в работе программного обеспечения.

Не говори боссу :)

5
ответ дан 24 November 2019 в 00:13
поделиться

Я написал сценарий, который в итоге используется каждый день в моей команде. Когда я работал в Intel, у нас было приложение, которое обращалось к базе данных Access, чтобы получить дамп информации о регистре (я работал над проверкой чипсетов). Оно получало эту информацию (из SQL-запроса) и сбрасывало ее в CSV-файл, HTML-файл и файл Excel. Весь процесс занимал почти 2 часа. Без шуток. Не знаю, почему это заняло так много времени. Мы запускали ее за час до обеда, уходили на обед, а потом возвращались.

Я подумал, что должен быть лучший способ сделать это. Я поговорил с командой, которая поддерживала базу данных реестра, и получил от них код SQL. Затем я написал сценарий на perl, который собирал данные и выводил их в форматы CSV, HTML и Excel. Время выполнения? Около 1-2 секунд. Большое улучшение скорости.

Я также написал несколько сценариев во время службы в Ираке в 2006 году (я прослужил в Национальной гвардии 9 лет - уволился в декабре). Мы использовали старое приложение под названием ULLS-G (Unit Level Logistics System - Ground), которое было написано на ADA и первоначально работало под DOS. Они взломали его настолько, что оно могло работать под Windows XP в командной оболочке. У этой системы не было интерфейса мыши. Все выполнялось с клавиатуры, и в ней не было функции пакетной обработки. Допустим, вы хотите распечатать лицензии для всех операторов транспортных средств? Ну... у нас в подразделении было 150 солдат, поэтому это занимало много времени. Допустим, каждый получил квалификацию на новую машину, и вы хотите добавить ее в квалификацию всех операторов? Приходилось делать это по очереди.

Я смог найти ODBC-драйвер для базы данных SAGE (которую использовал ULLS-G) и написал perl-скрипты, которые могли общаться с базой данных SAGE. Таким образом, то, на что уходило больше часа, теперь занимало всего несколько секунд. Я также использовал свои скрипты и драйвер для составления отчетов. Каждое утро мы должны были сообщать всю информацию в батальон. Другие подразделения каждое утро вписывали информацию вручную. Я создал макрос Excel, который использовал тот же драйвер и обращался к базе данных SAGE, обновляя таким образом таблицу Excel. Это самый сложный и единственный макрос Excel, который я когда-либо писал. Это окупилось, потому что меня наградили армейской медалью "За заслуги". Так что да, я получил медаль в армии за написание скриптов на perl :) Многие ли могут сказать такое? ;)

.
14
ответ дан 24 November 2019 в 00:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: