thedeemon: (office)
[personal profile] thedeemon
А вот недавно клиент из Берлина попросил простую весчь: отслеживать изменения в нескольких папках и при появлении там определенных файлов запускать их обработку нашей программой. Я говорю: а, ну для этого можно простой скриптик написать. А потом задумался. Известно, что у клиента винда, но неизвестно какая, в частности, неизвестно есть ли там какой .NET. Ни о каких установленных руби-питонах тоже речи нет. А у "скриптика" получается энное количество опций (где и что смотреть, какой проект применять, куда сохранять, чем сжимать, сколько процессов-обработчиков может быть и пр.), заставлять для этого редактировать конфиги негуманно, нужен GUI. Простенький, три окошка там. Ради них тонны фреймворков и рантаймов слать неуклюже как-то. Спрашивается, на чем же это писать? Вы бы на чем сделали?
Page 1 of 4 << [1] [2] [3] [4] >>

Date: 2014-06-06 02:41 pm (UTC)
From: [identity profile] helvegr.livejournal.com
VBScript?

Date: 2014-06-06 02:44 pm (UTC)
From: [identity profile] victorgr.livejournal.com
https://github.com/rogerwang/node-webkit

Date: 2014-06-06 02:44 pm (UTC)
From: [identity profile] andrey yunoshev (from livejournal.com)
Не то чтобы моя область, но если у него хотя бы XP - то хоть какой .NET фреймворк стоит по любому - можно на powershell написать, оно окна показывать вроде умеет.

Date: 2014-06-06 02:49 pm (UTC)
From: [identity profile] helvegr.livejournal.com
Хотя он наверно слишком убог. Тогда на чём-нибудь, из чего можно сделать исполняемый файл, например питон + py2exe.

Date: 2014-06-06 02:50 pm (UTC)
From: [identity profile] swizard.livejournal.com
а если принести с собой в инсталляторе руби-питон-перл?

Date: 2014-06-06 02:50 pm (UTC)
From: [identity profile] inv2004.livejournal.com
Конечно Q. так как исходник всего языка сколько-то там kb. кроссплатформенно + недавно он стал free для комменческого использования (32b). kx.com

Date: 2014-06-06 02:52 pm (UTC)
From: [identity profile] fas-tm.livejournal.com
У меня точно такое же сделанно.
Все сделано на С++/Qt5. GUI пока не прикрутил но в планах.
- обертка для работы watchfolder как сервиса.
- конфиг в json. при первом старте читаю его.
вычисляю хэш. раз в 10 секунд перечитываю, если хэш отличается - паршу опять.
это чтобы не лазить каждый раз перезапускать сервис. + GUI проще будет прицепить.
- Логика для определения что файл еще копируется и нельзя обрабатывать.
MacOS X сволочь не лочит файлы и приходится делать костыль типа взяли размер файла, подождали 2 секунды,
снова взяли размер файла. сравнили. Если есть разница - growing файл. не трогаем.
- Сам сервис ничерта не делает. но отсылает сообщение о готовности медиа файла в RabbitMQ.
- На очереди в RabbitMQ подписаны воркеры транскодеры. Можно подписать хоть 10.
Round-robin-ом получают сообщения и транскодируют :)

Все dll-ки с собой. Ничего больше не надо. Распаковал zip, запустил bat регистрации сервиса и все.

Date: 2014-06-06 02:55 pm (UTC)
wizzard: (Default)
From: [personal profile] wizzard
Оно ни разу не легковесное, если вдруг.

Date: 2014-06-06 02:55 pm (UTC)
From: [identity profile] nponeccop.livejournal.com
JS, .hta и FileSystemObject :) Будет работать хоть на 95-й, но каталоги придется поллить )

Если хочется декларативного гуя - Tcl/tk ещё можно обрезать (activetcl), там экзешник и длл-ка.
Edited Date: 2014-06-06 02:58 pm (UTC)

Date: 2014-06-06 02:57 pm (UTC)
wizzard: (Default)
From: [personal profile] wizzard
Из экзотичного, но, возможно, маленького мне почему-то приходит в голову https://github.com/mkottman/lqt, но оно какое-то древнючее.

Date: 2014-06-06 02:58 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Можно (плюс еще пакет для гуя), но кажется оверкилом.

Date: 2014-06-06 03:00 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
Когда-то юзал аналог для Ruby 1.9 + wxRuby, exe-шник 10 мегов был. Вариант, но думается, что можно легковеснее.

Date: 2014-06-06 03:01 pm (UTC)
From: [identity profile] fas-tm.livejournal.com
>>оно окна показывать вроде умеет.
умеет.

Date: 2014-06-06 03:01 pm (UTC)

Date: 2014-06-06 03:03 pm (UTC)
From: [identity profile] ircicq.livejournal.com
Чистый WinAPI на C с одним диалоговым окном в ресурсах.

Date: 2014-06-06 03:04 pm (UTC)
wizzard: (Default)
From: [personal profile] wizzard
С 95 OSR2 :)
Мне чего-то лезут в голову какие-то два экстремума, в смысле, luajit + биндинги к чему-нибудь, или ВНЕЗАПНО VB6.

Ну и понятно, что можно взять голый win32, но боюсь его все забыли уже.

Кстати, а к WSH есть что-то типа ctypes, чтобы произвольные API позвать? Там не то чтобы особо сложно было сделать push...

Еще вот анонсировали .NET Native, но пока его релизнут поезд уйдет раз пять, и вряд ли порожденные им бинарники заведутся на чем-то старше Win7.

Еще у меня есть карманный .NET рантайм в 250 кб + нужный_кусок_stdlib весом (на гитхабе), но там нету winforms и вообще stdlib очень-очень кривой.

Date: 2014-06-06 03:04 pm (UTC)
From: [identity profile] blueher.livejournal.com
> JS, .hta и FileSystemObject :) Будет работать хоть на 95-й, но каталоги придется поллить )

+100
Согласен целиком и полностью. Единственный минус - кросплатформенность ограничена разными версиями винды, что по нынешним временам как-то мелковато :(

Date: 2014-06-06 03:05 pm (UTC)
From: [identity profile] juan-gandhi.livejournal.com
Я б на скале накатал...

Date: 2014-06-06 03:05 pm (UTC)
wizzard: (Default)
From: [personal profile] wizzard
XP без SP не имеет дотнета :)

Но да, если хоть какой-то дотнет есть - то можно написать в ассемблю манифест "работать на всём", и оно таки будет работать на всём.

Date: 2014-06-06 03:07 pm (UTC)
wizzard: (Default)
From: [personal profile] wizzard
О, точно, тикль!

Date: 2014-06-06 03:07 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
>JS, .hta и FileSystemObject

Вот тоже про это дело вспоминал. Но предметом не владею.

Date: 2014-06-06 03:08 pm (UTC)
From: [identity profile] bvlb.livejournal.com
у джавы на борту есть все, что нужно

Date: 2014-06-06 03:09 pm (UTC)
From: [identity profile] bvlb.livejournal.com
а у питона вроде есть встроенная поддержка тикл-тикей, но ставить придется питон или в экзешник всё

Date: 2014-06-06 03:09 pm (UTC)
From: [identity profile] thedeemon.livejournal.com
А для гуя что там юзать?

Date: 2014-06-06 03:10 pm (UTC)
From: [identity profile] blueher.livejournal.com
А, ну и да - JScript и уж тем более VBScript на звание современных удобных средств разработки не тянут аж никак :(
Page 1 of 4 << [1] [2] [3] [4] >>

Profile

thedeemon: (Default)
Dmitry Popov

April 2026

S M T W T F S
   1 234
567891011
12131415161718
19202122232425
2627282930  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 27th, 2026 01:27 am
Powered by Dreamwidth Studios