DJ-Andrey-sXe Logo

DJ-Andrey-sXe

Музыка, программирование и дизайн

Вакансия perl-программиста

Ищу человека, уверенно владеющего языками Perl и SQL, умеющим аккуратно верстать HTML/CSS, совсем хорошо было бы знать JavaScript и уметь обращаться с серверами на Linux, готового работать в Тольятти.

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

P.s. В крайнем случае кандидат должен иметь опыт веб-разработки с использованием SQL-базы и языка, близкого к Perl, например, PHP, чтобы нам не ждать, пока кандидат научится всё это использовать с нуля, а начнёт в разумные сроки после вникания в язык, архитектуру и детали продукта выдавать результаты.

Выключить компьютер по завершению произвольной программы

Задача:
по завершению некоторого процесса (имя которого известно) выключить компьютер.

Условия:
использовать только встроенные средства Windows (без скачивания/установки сторонних программ!)

Решение:

Пакетный файл.

@echo off

rem процесс с каким именем ждать
set task=calc.exe

rem интервал отслеживания в секундах
set seconds=5

echo Waiting for termination of %task%:

:loop
tasklist /nh /fi "IMAGENAME eq %task%" | findstr /C:"%task%" > nul
goto label%errorlevel%

:label1
echo Done. Shutting down...
Shutdown /s /f
exit

:label0
echo Still running...
timeout /t %seconds% > nul
goto loop

Как проверить и как пользоваться:
Для тестирования сохраните приведённый код под именем shutdown-on-app-close.cmd, запустите Windows-овский калькулятор, затем только что полученный .cmd-файл. Результат: пока калькулятор работает, эта программа с интервалом в 5 секунд наблюдает за ним, стоит вам закрыть калькулятор — компьютер выключится. Для изменения имени наблюдаемого процесса и интервала проверки “запущенности” :) процесса измените две переменные в начале файла, их имена соответственно task и seconds.



Исходники Matrix ScreenSaver 1.1

matrixСкринсейвер, изображающий «Матрицу». Описание и скомпилированная версия живёт на основной странице программы.

Скачать исходники

Успешно собирается с помощью Microsoft Visual C++ 2005. Попробуйте начать с изучения файла make.bat.

С другими компиляторами не тестировал, но не вижу повода для проблем со сборкой. Когда-то собирался с помощью Borland C++ 5. Требуется Windows SDK, DirectX SDK.

Внимание! В последних версиях DirectX SDK начисто выпилены старые файлы (например, ddraw.h), которые нужны для сборки олдскульного старья вроде этого исходника. У вас есть два пути: вытащить недостающие файлы из старых DirectX SDK (с 7 по 9 версию включительно), либо скачать маленький архивчик (весит полметра) с хедерами и либами седьмого директикса и начать его бережно хранить.

Поддержка языка Perl для True Template, плагина к Far Manager

Умеет дополнять операторы: цикла, условий, управления ходом выполнения; дополнять объявления; вставлять Escape-коды из меню плагина; вписывать разные необходимые строки в создаваемые файлы типа: pl, cgi, pm.

Скачать (внутри способ установки и примеры использования)

CSS Compressor v1.2.1

Perl-скрипт сжимает CSS за счёт удаления ненужной информации для браузера (лишние пробелы, отступы, комментарии), не нарушая синтаксис языка. В результате получается файл меньшего объема, в котором компактно содержится всё то же самое, что и в оригинале, причем абсолютно рабочее.

Скачать

Пример: Читать дальше…

Цветовая схема Far для colorer

Позволяет привнести боевую раскраску в стиле Far Manager в любую программу, к которой прикручена прекрасная библиотека синтаксической расцветки colorer от Игоря Русских.

Вот так она выглядит в действии в редакторе Bred.

bred3_far_color_scheme

Для примера возьмём тот же Bred. Положите этот файл по пути %ProgramFiles%Bred3pluginscolorer5hrdrgbfar.hrd и допишите в файл %ProgramFiles%Bred3pluginscolorer5catalog.xml фрагмент внутрь тега: <hrd-sets>:

<hrd class="rgb" name="far" description="Far Manager">
    <location link="hrd/rgb/far.hrd"/>
</hrd>

После чего можно будет выбрать схему: меню Настройки → Цвета.

Скачать

Дни рождения сотрудников v1.0

При запуске показывает сотрудников, у которых сегодня день рождения. Если таковых нет, программа ничего не скажет и тихо завершится. Самое то для установки в автозагрузку.

Сотрудники — это очень условно. На самом деле это ваше личное дело, где вы будете это использовать и кого вы в список впишете. В архиве находится достаточно подробное описание с примером.

Язык: C, ничего кроме CRT и WinAPI

Скачать программу + исходник (5 Кб)

Исходники CASIO fx-50F

Casio fx-50FЯзык: C++, среда: Borland C++Builder 6

Для сборки потребуется библиотека JEDI-VCL.

Исходник не богат комментариями, но основные моменты прокомментированы, остальное, очень надеюсь, достаточно прозрачно и самодостаточно. Я никогда глубоко не изучал исходники других калькуляторов, но всё равно почти уверен, что я изобрёл очередной велосипед ;)

Полагаю, начинающим будут в первую очередь интересны следующие фишки:

  • Нестандартный (полностью «скинизованный») интерфейс. Вид не зависит от версии ОС и установленных тем, цветовых схем или стилизовалок вроде StyleXP или WindowBlinds;
  • Перетаскивание окон за произвольное место a’la EasyMove в WinAMP;
  • Динамическая загрузка и использование произвольного ttf-шрифта, который не установлен в систему;
  • И, разумеется, принцип работы калькулятора.

Скачать (126 Кб)

Скомпилированная версия живёт в разделе «Программы».

Лицензия на исходники

Все представленные здесь программы или библиотеки распространяются с открытыми исходными текстами под лицензией (L)GPL (если не указано иное).

Ключевые моменты этой лицензии сводятся к следующим простым правилам: Читать дальше…

libbit v1.3

Библиотека функций для чтения и записи произвольных бит в разные типы данных от char до __int64. Безусловно это очередной велосипед и отчаянные кодеры-джедаи скажут, что битами можно вертеть и врукопашную.

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

Много непростых слов, да? Давайте уже к примеру.

#include "libbit.h"

unsigned char c; // показываю работу библиотеки на этой переменной
c = 0; // все биты сброшены

// устанавливаем в истину самый младший бит
// (индексация бит начинается с нуля: первый - 0, второй - 1 и т. д.)
SetBit(&c, 0);

// теперь почитаем биты...
bool bit1, bit2;
bit1 = GetBit(&c, 0); // возвратит истину
bit2 = GetBit(&c, 1); // возвратит ложь

Скачать — 1107 байт :)