УМННБJ, ЯХВ. Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

Вопрос: а есть ли скрипты или скриптоподобные системы, где реально, не перезагружая, можно менять код на лету, но при этом каждый скомпилированный узел AST пронумерован, и операции над живым кодом обязательно согласуются с текущим состоянием. В CGI, например, обновление на уровне новых http–запросов. В Erlang обновление на уровне новых вызовов функций. А вот как бы полностью контроль иметь, в том числе за теми функциями, что уже исполняются и ещё не завершились?
Однажды скомпилировав и получив пронумерованное AST, становится нельзя редактировать непронумерованный код, снова компилировать, получать совершенно иную нумерацию и пытаться активировать, потому что вот прямо в этот момент в обновляемых AST что–то происходит, и полный сброс портит всю задумку, которую я хочу.
А по задумке нужно работать с пронумерованным AST, и, если что–то добавляется, то сразу же и нумеруется. Если какие–то строки хочется удалить, они могут не удалиться сразу, потому что где–то в момент обновления они исполняются, и удаление строк будет отложено до момента, когда их исполнение везде прекратится.

Для чего это хочется? Типичные операции: запросы к БД, запросы по HTTP. Область применения: процессинг.
Проведение платежей теоретически может быть настраиваемо гибко. Есть продавцы типа Дом.ру, которые в разных регионах имеют разные идентификаторы service-id. Вот, чтоб простые люди на терминале не выбирали из нескольких одинаково выглядящих кнопок свой город, можно сделать одну кнопку, а дальше пусть бы процессинг по лицевому счёту анализировал, куда платёж послать. А ещё может понадобиться один платёж разбить на несколько, и успешность исходного платежа зависит от успешности платежей, но которые платёж был разбит. Далее, вот есть, допустим, российский Билайн и казахстанский Билайн. Их можно объединить, а потом различать по коду страны в телефонном номере, а ещё по валюте. При этом можно требовать, чтобы валюта совпадала, а можно конвертировать, если не совпадает (актуально на Байконуре, где платят в рублях, но территория Казахстан, поэтому могут и не рублями заплатить, или могут рублями за казахстанский Билайн заплатить). Получается несколько звеньев, в которых может происходить вариация. Что касается конвертации, то это может быть запрос в БД. Если данные устарели, запрос курса по HTTP. Это те самые узлы AST, которые нужно удалять не сразу, если где–то оно ещё исполняется. Скажем, сегодня мы конвертировали алтыны в рубли, а рубли в гривны, а завтра научились сразу в гривны запрос курса по HTTP делать. И если с новыми платежами всё понятно, они пойдут по новой схеме, то старые могут подвиснуть, если запрос курса накрылся или что–то в этом роде. Желательно вот поэтому полный контроль иметь над происходящим.

#WVD32R (4) / @octagram / 4154 дня назад

Есть знатоки Пролога? Можно его переделать в препроцессор по типу m4?
http://stackoverflow.com/questions/17360703/how-to-turn-prolog-into-preprocessor-kinda-m4-gpp

#3YTWG4 (1+1) / @octagram / 4167 дней назад

Типичная ситуация в AdaCore vs. Ada community:

Да уж. Тут одно за собой тянет другое — недоступность Ады для ряда платформ уменьшает вероятность того, что кто-то кроме AdaCore будет вкладываться в развитие Ады, да и просто использовать её для своих проектов.
На примере нашей работы: мы занимаемся телекоммуникациями (VoIP). Есть у нас продукт - сервер видеоконференцсвязи (mcu). Писан на С++. Затем появилась потребность написать к нему собственные клиенты (там используется стандартный SIP-протокол, так что сторонние клиенты тоже работают, но свой будет лучше по ряду причин) в первую очередь для Windows. Клиент процентов на 70 состоит из общего с сервером кода (сигналинг, декодинг/енкодинг и так далее). Для клиента специфичен только GUI и средства воспроизведения (звук, видео) ну и некоторая дополнительная логика.
Затем потребовался клиент для Linux. Тут было еще проще — у него процентов 90 общего кода с Win-версией клиента (только устройства подложить линуксовые, да гуй перерисовать).

А вот теперь Android и iOS. Там в общем то тоже не сложно, особенно в iOS. Процентов 90 кода будет общее с десктопными клиентами (оставшиеся 10% пишутся на системо-специфичном ЯП - в случае Android это java, в случае iOS — это ObjC).
А если бы мы изначально взяли не С++, а Аду, то на этапе поддержки мобильных платформ мы бы сели в лужу, пришлось бы переписывать 90% кода с нуля на том же С++. А затем постоянно поддерживать это дело в актуальном состоянии и ручками синхронизировать с кодом сервера.
То есть выходит, что стратегически верным решением является изначально использовать не Аду, а С++, чтобы в последствии иметь свободу манёвра (если конечно вы меньше Боинга, и не можете заказать поддержку нужной платформы у AdaCore) — когда начинали разработку, два года назад, никто о написании своих специализированных клиентов для всех платформ еще и не думал — это был эксперимент. Успешный.

http://news.gmane.org/find-root.php?message_id=%3cCAO2%2dbK%2d8mOQ8gOCrVB%2bQTmYi9Zpau2F%2bfvHS0ivMYpBd4UhXCA%40mail.gmail.com%3e

А что у Ады с компиляцией под Apple iOS? Хотя бы адский код в либу собрать, чтобы её из ObjC там дергать.
У нас есть абсолютно полноценный порт под iOS, который мы разработали из любопытства в основном. К сожалению лицензионная модель эппл не позволяет нам предложить такой продукт.

http://news.gmane.org/find-root.php?message_id=%3c276555BE%2d9B20%2d44DE%2d99CE%2d5CF5265A3248%40adacore.com%3e

#0MTWAG (1) / @octagram / 4168 дней назад

Позавчера пришла по почте та самая книга «Handbook of Object Technology». На почтовой обёртке эпично красуется Value $0.07. Для своих семи центов книга в потрясающем состоянии. Страницы белые, свежие, не засаленные, ничего подобного. Следы пребывания в библиотеке есть, но это просто пустяки. Штампы RIT LIBRARY и WITHDRAWN на внешних сторонах страниц, следы оторванного кармана для карточки, приклеенный скотчем к обложке штрих–код, который я не рискну срывать. Худшее — это пометки карандашом на страницах, но это полная ерунда.

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

Впечатляет охват материалов. В этой книге есть 3 главы, посвящённые SOM (если в книге про объектные технологии не указан SOM, то такая книга — кошачий корм). Есть главы посвящённые языкам программирования, в том числе Ada 95, Modula-3, Smalltalk. CLOS, правда, нет, но SOM–то круче. An overview of the C++ Programming Language Страуструпа, кстати, впервые было опубликовано именно в этой книге, а уже потом распространялось отдельно. В PDF есть указание на книгу–первоисточник.

Весьма неплохо. И если о том, что я перечислил, я уже имел представление, то о многих других вещах в этой толстой книге у меня такого же хорошего представления нет. Вот, например, Business Object Notation. И таких глав 58.

Теперь хочу обзавестись «Putting metaclasses to work». Оба автора имели непосредственное отношение к разработке SOM 3.0, а сама книга оказала влияние, например, на Python. Что касается метаклассов, это самая упоминаемая книга. В электронном виде я её так и не нашёл, а б/у на таких же условиях, как Handbook of Object Technology, её нет. На http://www.alibris.com/ есть только новые, минимум за $250

#GZG7UW (7) / @octagram / 4168 дней назад

Запилил отдельным видео на youTube: https://www.youtube.com/watch?v=crzMtVqGW44&list=PLFiQbMdDUdxzC6ylah9rx8qSbdtsBd0rB&feature=bnw

"100тыс. студентов ничему не учатся в институтах. Люди тратят лучшие годы жизни не понятно на что" — Сергей Гуриев, ректор РЭШ

И вообще, решил пособирать плейлист на тему «дело–то серьёзное, не дворника люди выбирают». Раменского перезалил с сибнета на тыТрубу. Приветствуются лайки, а также истории успеха (для пополнения плейлиста). Желательно, адекватно. Желательно, ближе к программистам.

#NL62FC (1+1) / @octagram / 4209 дней назад

http://octagram.name/img/2013/05/Appropriate_Book_Price.png
Вот это я понимаю, нормальная цена для книги. Жалко, на доставке погорю

#DPEKZO (2) / @octagram / 4214 дней назад

Долгое время не могу найти в электронном виде Saba Zamir, Handbook of Object Technology http://www.crcnetbase.com/isbn/9781420049114

В p2p мне известны две магнитные ссылки: magnet:?xt=urn:tree:tiger:5LT56SKGOL2H2LGSGIGVRWVJUEH2D22LYRVDZHQ&xl=19198295&dn=CRC+Press+-+Handbook+of+Object+Technology.zip magnet:?xt=urn:tree:tiger:MMXI5TP5YA2FTWAD4UUA6MQUPC4XPPK3R3I5SFY&xl=18029159&dn=Handbook+of+Object+Technology+(CRC+Press).7z

Обе стоят на закачке который месяц. Нет никого с этими файлами. В поле зрения http://dc.proisk.org/ юзеры с такими файлами попадали в начале 2012го года и при мне эти юзеры на хабах так и не появлялись. http://sci-hub.org/ не помог. В инете рабочих ссылок не нашёл. При том, что находятся интересные листинги с варезом:
https://groups.google.com/forum/#!msg/ace-china/VdfJt8g5Fww/RwBKt3_mi8cJ
Очень много в Интернете всяких непонятных лабиринтов типа http://g5q.ru/2466-handbook-of-object-technology/ , где в конце концов попадаешь на поисковик по рапидшарам, но на рапидшаре все ссылки сдохли, либо лабиринтов типа http://rusbook.net/Handbook-of-Object-Technology/prd_dl-378144.html , где в конце концов попадаешь на сайт продавца за много $$$, но перед этим будет обман из ключевых слов Скачать книгу Handbook of Object Technology (Saba Zamir) можно в следующих форматах: rtf.zip, txt, txt.zip, fb2.zip, epub, html.zip, a4.pdf, a6.pdf, java, doc.prc.zip, rb, lit, mobi.prc, lrf, isilo3.pdb.

У меня такое чувство, что я чего–то не улавливаю. У кого–то есть гигантские коллекции книг по программированию и, такое впечатление, ещё и налаженная сеть по распространению этого дела, а в Интернет и DC++ это выплывает по воле случая. Где б надыбать библиотеку программиста, не хуже, чем здесь: https://groups.google.com/forum/#!msg/ace-china/VdfJt8g5Fww/RwBKt3_mi8cJ Ну и желательно, конечно, с той книжечкой, которую я ищу.

#YNN9OA (0) / @octagram / 4215 дней назад

http://stackoverflow.com/questions/15271278/how-to-convert-synchronous-blocking-shared-memory-model-code-to-asynchronous-cor
Давно мучил меня такой вопрос, сейчас подошёл вплотную. Не надеюсь на скорое решение, приходится идти другим путём.

#ZVRT3B (0+1) / @octagram / 4280 дней назад

http://rachelbythebay.com/w/2011/06/07/forked/
Почему я не люблю fork()

#4AMVL4 (0) / @octagram / 4280 дней назад
Разработчики какие–то странные бывают. Живут на другой планете, и на этой их планете совсем–совсем нет p2p. Так много движков не пропускает магнитные ссылки. Я бы понял, если бы они не форматировали сырые ссылки. Если бы dn не uri-декодировали и dl в удобное представление не переводили. Влом кодить десять строчек, можно понять. Но коцать–то зачем? bnw, скорее всего, не свой движок использует, так что чей движок — тому и камнем в огород. Я на своём сайте (X-Wiki) был вынужден несколько слоёв прочесать, чтобы убедиться, что ничей говнокод не поломает на полпути магнитную ссылку. Ожидания оправдались: сколько могло быть мест, где может сломаться магнитная ссылка, во стольких местах её какой–нибудь говнокод сломает. Парсер wiki–разметки, WYSIWIG–редактор — всё не слава богу. Везде разработчики как на подбор ушибленные попались. Магнитные ссылки? Не, не слышали!
#6SGQXT (6+1) / @octagram / 4303 дня назад
По работе есть потребность навелосипедить пул SQL коннектов. В принципе, всё сделано, кроме стратегии закрывания лишних соединений. Когда какой–нибудь терминальчик после долгого оффлайна выйдет на связь и его прорвёт, пул должен раздуться до требуемых размеров, а если потом эти соединения долго никому не нужны, они должны прибиваться, не дожидаясь, пока они сами сломаются по тайм–ауту. В какие сроки, по какому критерию, с какой скоростью прибивать, не очевидно, но что–нибудь накостыляем.
#CXJRQG (0) / @octagram / 4309 дней назад
RJ @Shchvova: Только плюсы, только лютый хардкор. http://www.cppgm.org/ - онлайн курс, на котором собираются писать компилятор С++11 и стдлиб. Кто еще будет? #2219924 http://juick.com/2219924
#YNE2OS (0+2) / @octagram / 4314 дней назад
https://en.wikipedia.org/wiki/Comeau_C/C%2B%2B У сабжа, судя по Talk, несколько недель лежит сайт, но в кеше Гугля ещё свежо предание. Сабж компилирует C++ не сам, а посредством компиляции в C, и среди перечисленных поддерживаемых back-end'ов был даже древний Borland C++. Цена 50 USD за лицензию.
#7XMR7O (0) / @octagram / 4314 дней назад
http://eric.themoritzfamily.com/websocke.....ts-v2.html Интересные результаты, но вот здесь бы для сравнения libev, libuv, libevent, asio
#VK77OX (0) / @octagram / 4316 дней назад
https://sourceforge.net/projects/somfree/ Пока только для POSIX систем
#WM0EES (0) / @octagram / 4335 дней назад
http://nimrod-code.org/ Любителям пощупать новые языки программирования предлагаю ознакомиться
#WRY0U7 (0+1) / @octagram / 4338 дней назад
http://edll.sourceforge.net/ Вот такая шняга есть под Windows. Умеет подгружать в рантайме статические и динамические библиотеки. Особенно интересно последнее. Если системному LoadLibrary() нужен непременно файл на файловой системе, то кастомный загрузчик, наверное, и из виртуального файла загрузить DLL устроило бы. Например, из инкрустированного в .exe байтового потока. Или из удалённого HTTP сервера, попутно перехватив FileOpen у подгруженной библиотеки, чтоб она и файлы читала оттуда же.
#J7AE6K (3) / @octagram / 4340 дней назад
http://wyw.dcweb.cn/stdcall.htm Тот, кто назвал Це бритвой, сделал это до появления манглинга. Внутреннее имя, импортированное имя? Вообще охуеть. Знаю, что вызывается и знаю откуда, ебусь, не могу сделать, чтоб всё срослось. external 'emitc.dll' name 'emitSL' — вот, где бритва, а не там, где еботня с implib'ом и манглингом
#C90J36 (0) / @octagram / 4340 дней назад
#ILWZ3J (0) / @octagram / 4352 дня назад
http://docwiki.embarcadero.com/RADStudio.....plications Вот чем мне нравится само существование Embarcadero, так это тем, что они как зеркало отражают говнистость того, что делается в Microsoft'е. То, есть, если у Microsoft всё снаружи красиво, распиарено, то опыт сторонних разработчиков высвечивает всё как есть. WinRT в теории классный, но под него сейчас нельзя делать приложения сторонними компиляторами — и вот результат, для отображения Live Tiles Embarcadero делает отдельное специальное приложение–прокси, сделанное так, как требуется Microsoft, плюс теневой сервис, и через всё это становится возможной работа нормальных, написанных не на выбранных неизменно дурным вкусом Microsoft языках, приложений. Мне, конечно, хочется всё то же для Ады, но Delphi тут как первопроходец, собирает все грабли, чтоб остальным легче идти было.
#YKGZ6P (0+1) / @octagram / 4360 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.