zed.0xff.me
demangle MSVC, Delphi & C++Builder mangled function names with pure Ruby
Ever wanted to convert @afunc$qxzcupi or ??3@YAXPAX@Z to something more human-readable?
(ofcourse you wanted, and you know about tdump.exe
and undname.exe
:)
And now you can do it using pure ruby, thanks to unmangler gem:
Unmangling Borland mangled names
1 2 3 4 5 6 7 8 |
require 'unmangler' puts Unmangler.unmangle "@afunc$qxzcupi" puts Unmangler.unmangle "@Forms@TApplication@SetTitle$qqrx17System@AnsiString" # output: # afunc(const signed char, int *) # __fastcall Forms::TApplication::SetTitle(const System::AnsiString) |
Unmangling MSVC mangled names
1 2 3 4 5 6 7 8 |
require 'unmangler' puts Unmangler.unmangle "??3@YAXPAX@Z" puts Unmangler.unmangle "?AFXSetTopLevelFrame@@YAXPAVCFrameWnd@@@Z" # output: # void __cdecl operator delete(void *) # void __cdecl AFXSetTopLevelFrame(class CFrameWnd *) |
And now w/o arguments
1 2 3 4 5 6 7 8 9 |
require 'unmangler' puts Unmangler.unmangle "@Forms@TApplication@SetTitle$qqrx17System@AnsiString", :args => false # outputs "Forms::TApplication::SetTitle" puts Unmangler.unmangle "?AFXSetTopLevelFrame@@YAXPAVCFrameWnd@@@Z", :args => false # outputs "AFXSetTopLevelFrame" |
Links
TBD: GCC support
новый gem: Яндекс.Метрика
Установка
Добавьте в config/environment.rb:
1 |
config.gem "yandex_metrika", :lib => "yandex/metrika", :source => "http://gemcutter.org" |
и выполните команду:
1 |
rake gems:install |
Описание
Быстрая интеграция Яндекс.Метрики в ваше Rails-приложение.
По умолчанию код метрики автоматически вставляется в каждую страницу перед
закрывающим тэгом </body>.
Но сначала нужно корректно сконфигурировать плагин, иначе он будет ругаться.
Конфигурация
Для этого добавьте следующий код в config/environment.rb:
1 2 3 |
if defined?Yandex::Metrika Yandex::Metrika.counter_id = '123456' end |
А для избежания замусоривания environment.rb всякими плагинами -
можно добавить этот конфиг в config/initializers/yandex_metrika.rb
Вместо ‘123456’ нужно вставить ваш личный COUNTER_ID, который можно вытащить
из javascript-кода, предоставляемого Яндексом: “new Ya.Metrika(123456)”,
тут 123456 и есть искомый код.
По умолчанию код метрики вставляется в страницы только при использовании
production окружения. Для активации кода и в development нужно сделать так:
1 |
Yandex::Metrika.environments = %w'production development' |
Если есть необходимость для каких-то страниц выключить код Яндекс.Метрики – то
добавть следующий код в соответствующий класс контроллера:
1 |
skip_after_filter :add_yandex_metrika_code |