Тут не исправить уже ничего, Господь, жги! Войти !bnw Сегодня Клубы
Привет, TbI — HRWKA! 1232.2 пользователей не могут ошибаться!
?6881
прекрасное6402
говно5864
говнорашка5499
хуита4684
anime3024
linux2628
bnw2580
music2573
рашка2536
log2326
ололо2092
pic1785
дунч1701
сталирасты1475
украина1437
быдло1422
bnw_ppl1321
дыбр1235
гімно1158

https://ruby-doc.org/stdlib-3.1.0/libdoc/logger/rdoc/Logger.html#method-i-add > Bugs¶ ↑ > Logfile is not locked. Ебать добрый вечер. Пользовался этой поебенью с сотнями процессов, пишущих в один файл, годами — и ни разу ничего не пидорасило. Похоже, я чего-то не знаю про прыщавый write в файлы.
#RTIABI (0) / @komar / 33 дня назад
Обнаружил, что cочетание activerecord и тредов вредно для здоровья. В activerecord все взаимодействие с базой данных внутри процесса проходит через пятиэтажную систему блокировок. Они используются для кеша prepared statements и прочих вещей, которые тебе на хуй не обосрались. Неряшливый профайлинг показал, что в ожидании лока треды проводят по 5% времени. Но это ерунда. Беда в том, что эти блокировки иногда как-то так стакаются, что тред просыпается уже через 5-15 минут, когда соединение уже прибито по idle_in_transaction_timeout. У меня это происходит в 1 случае из 7 000 000 на сильно загруженном сервере. Activerecord — это безнадежно переусложненная хуйня. Не берите activerecord. Что брать — пока не знаю.
#KRHWFM (2) / @komar / 52 дня назад
Как писать на сраном ruby чтобы не жрало память: — дергай GC.start full_mark:false после работы, либо перед тем, как поспать или послушать соскет; — ребутай свои процессы время от времени, чтобы убрать эффекты от фрагментации памяти, но желательно gracefully это делать, иначе граблей не оберешься; — плоди процессы при помощи fork(), он дает copy-on-write; — переделай параллельность с процессов на треды — это даст гораздо меньше выигрыша, чем кажется, и гораздо больше граблей, чем кажется, но все-таки работает; — выкинь activerecord, его писали жопой и не переделывают.
#7QSXJW (1) / @komar / 69 дней назад
https://github.com/rubygems/bundler/issues/7135 сука блять ебаное говно заебался дебажить
#T0P95X (0) / @komar / 129 дней назад
поставил lolcat из aptitude на debian stable @ из коробки блюет трейсбеками
#OOIEF0 (1) / @komar / 330 дней назад
Какой щас модный гем для парсинга html в рубях?
#THCA56 (2) / @bazar / 471 день назад
> nil || false => false Кто догадался, как это работает — тому я не завидую.
#VFCXXT (14) / @komar / 590 дней назад
https://github.com/atipugin/telegram-bot-ruby/blob/master/lib/telegram/bot/client.rb#L24 Ничего особенного, просто библиотека перехватывает обработку сигнала. Не, ну нормальная практика. Я ничего против не имею. Я не имею в виду, что я чуть не ебнулся головой, пытаясь понять, почему мой код с обработкой сигнала не работает. Вовсе нет. Ничего подобного.
#LD1FDU (6) / @komar / 591 день назад
Радикально решил проблему с потреблением памяти долгоживущих процессов на ruby. Процесс теперь перед началом работы вызывает инновационную функцию fork™, после которой родитель остается сидеть-пердеть с waitpid, а потомок — собственно, заниматься работой. Спустя N итераций, либо N секунд (через час где-то) процесс-потомок завершается, а проснувшийся родитель тупо создает его обратно при помощи той же инновационной функции fork™. Происходит это все быстро и совершенно незаметно. Вся нафрагментированная и натёкшая память высвобождается. Не знаю, куда ее теперь девать.
#XUQUL0 (6+2) / @komar / 647 дней назад
Тем временем в доебане поломатый бандлер: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=955405
#0GDT4K (0) / @komar / 965 дней назад
https://framagit.org/zoggy/ocaml-iri/-/blob/master/iri_lexer.ml#L142 Блядь, даже для обоссаного окамла есть библиоетка для парсинга ссылочек с юникодом, которая обрабатывает точки с запятыми нормально! Господи, блядь, за что?
#GM6SHD (0) / @komar / 971 день назад
addressable не понимает точки с запятой в query, потому что автор мудак: https://github.com/sporkmonger/addressable/issues/114#issuecomment-16338080 URI в стандартной библиотеке не понимает non-ascii вообще.
#PF9YK5 (2) / @komar / 971 день назад
addressable писал еблан. Что еще взять для простой нормализации обоссаной http-ссылки в виде строки?
#1SSI5U (0) / @komar / 972 дня назад
https://threatpost.com/bitcoin-stealers-700-ruby-developer-libraries/154937/ Рубрика «велосипедные пакетные менеджеры».
#5G9PVG (3+1) / @komar / 996 дней назад
Ну вот такая вот история, например. Подключил модный гемчик. Сделал huita.try(:[], :wtf) А по-другому я нынче и не пишу уже — страшно. Для тех, кто современных рубей не видел — это абсолютно то же самое, что и huita[:wtf], но вызванное так, чтобы если вместо huita мне подсунут не хеш, а что-то другое, то в результате всего лишь будет nil, а не падение с эксепшоном. И все равно все ебнулось с undefined method `wtf' и совершенно невменяемым трейсбеком. Потому что huita принадлежит к классу из гемчика, который сделан через поебень под названием virtus. Этот ебаный virtus переопределил метод [] и заменил его на #send, потому что, э-э-э... Ну, чтобы пиздато было, наверное. Часа времени на дебаг как не бывало.
#5SDRAN (7+1) / @komar / 1007 дней назад
Любишь activerecord — люби и долгоживущие процессы по полгига. Нет, с этим ничего нельзя сделать.
#JREAA9 (0) / @komar / 1063 дня назад
Кто на Ruby практикует? В свете грядущего релиза 3.0 уже определились с тем, на что должны быть похожи хинты для type inference?
#DP4U1O (11) / @dluciv / 1257 дней назад
> If you use Dir::Tmpname#make_tmpname, it is no longer available. Long story short: you need to generate unique names on your own.Click here [https://github.com/rails/rails/pull/31462/files] to see how Rails core team did it.
#7A2JLP (0+1) / @voker57 / 1754 дня назад
https://i.ytimg.com/vi/cs3Yh9ifTNA/hqdefault.jpg https://www.ruby-lang.org/en/news/2018/02/24/ruby-2-6-0-preview1-released/ "Ruby 2.6 introduces an initial implementation of JIT (Just-in-time) compiler. JIT compiler aims to improve performance of any Ruby program execution. Unlike ordinary JIT compilers for other languages, Ruby’s JIT compiler does JIT compilation in a unique way, which prints C code to a disk and spawns common C compiler process to generate native code. See also: MJIT organization by Vladimir Makarov."
#QT3MTV (0+1) / @o01eg / 2033 дня назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

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