Тут не исправить уже ничего, Господь, жги! Войти !bnw Сегодня Клубы
Почему нет RDBMS, написанных на фукнциональных языках™? В конце-концов, кого ебет оверхед — всех ебет сложность запросов и надежность. С надежностью все понятно, ну а оптимизировать запросы при помощи сишечки — это ведь охуеть можно. А ведь половина увиденных мною жалоб (и половина моих собственных) на постгрес — это «вот тут можно оптимизацию, а ее не запилил, суки ленивые». Доколе?
Рекомендовали: @stiletto @je @o01eg
#WGFVIU / @komar / 3713 дней назад

чем неоптимизирован mysql?
#WGFVIU/NGS / @n / 3713 дней назад
@polecat Бля, это да. Ну похуй, хотя бы оптимизатор-то можно на нормальном языке написать.
#WGFVIU/3GG / @komar --> #WGFVIU/BNP / 3713 дней назад
пидоры, сэр.
#WGFVIU/8UC / @gds / 3713 дней назад
@gds rly?
#WGFVIU/SEA / @komar --> #WGFVIU/8UC / 3713 дней назад
@polecat расскажи мне про освобождение ресурсов и утœчки памяти и valgrind какой-нибудь
#WGFVIU/VX0 / @gds --> #WGFVIU/BNP / 3713 дней назад
@gds чем плох valgrind?
#WGFVIU/I91 / @n --> #WGFVIU/VX0 / 3713 дней назад
@komar думаешь, писал бы, если не rly?
#WGFVIU/A7S / @gds --> #WGFVIU/SEA / 3713 дней назад
@polecat да, давайте пердолить руками, так легче ошибаться.
#WGFVIU/P8G / @gds --> #WGFVIU/9ER / 3713 дней назад
@gds Ну хрен тебя знает. Может, ты за державу радеешь.
#WGFVIU/JPB / @komar --> #WGFVIU/A7S / 3713 дней назад
@n тем, что решает проблему, которой не должно быть.
#WGFVIU/GUJ / @gds --> #WGFVIU/I91 / 3713 дней назад
@komar да, и за скипетр кагбэ держусь.
#WGFVIU/1PK / @gds --> #WGFVIU/JPB / 3713 дней назад
>RDBMS >кого ебет оверхед лан
#WGFVIU/S5R / @mugiseyebrows / 3713 дней назад
@gds может, и вселенскую справедливость обсудим? что за "не должно"? кто кому не должен или должен? ты - заказчик IT-индустрии и поставил свои условия? или заказчик мира?
#WGFVIU/7AE / @n --> #WGFVIU/GUJ / 3713 дней назад
@n ты, наверно, думаешь, что в C++ такой проблемы нет, потому что он хорошо сделан, а C - плохо? да нихуя, дополнительный уровень абстракции просто - умные указатели, например. в C тоже если хочешь - берёшь и создаёшь уровень абстракции, проверяющий хуиту перед операциями аллокации/деаллокации/чтения/записи памяти. вот только ресурсы будет жрать. зачем пилить жручие костыли и уровни абстракции, когда ты точно знаешь, где что надо сделать с памятью? только чтобы не "пачкать руки"? пидарас ты, а не программист. погоны то не позорь, хули ты напялил.
#WGFVIU/2K5 / @n --> #WGFVIU/7AE / 3713 дней назад
@n ебать, попустись
#WGFVIU/FI7 / @krkm --> #WGFVIU/2K5 / 3713 дней назад
@n у процессоров архитектура такая, вдвоём сидим с ней. ЕДИНСТВЕННАЯ архитектура, программируем код на неё, ты в неё насрал. там нет наслоений проверок и прочей хуйни, малафьи, правильная работа с памятью - задача программиста. ядро лишь обеспечивает живучесть себя, прибивая жопорукие пиздецы. программист, не могущий в память, вынужден малафить ИНТЕРПРЕТИРУЕМЫЕ ЯЗЫКИ, потому что это его сладкий хлеб. другого нет.
#WGFVIU/QV0 / @n --> #WGFVIU/7AE / 3713 дней назад
@mugiseyebrows Все еще дрочишь на бенчмарки WHERE id = $id?
#WGFVIU/TZT / @komar --> #WGFVIU/S5R / 3713 дней назад
Причем чистые программы вроде бы намного проще автоматизированно оптимизировать.
#WGFVIU/AVT / @folex / 3713 дней назад
@folex Эту хуйню тебе любой хуяскелист расскажет. Про крылья подрезанные.
#WGFVIU/YOC / @komar --> #WGFVIU/AVT / 3713 дней назад
@folex Заебали отвечать долбоебу, оставьте его в покое.
#WGFVIU/Y0W / @komar --> #WGFVIU/NZH / 3713 дней назад
@n > правильная работа с памятью - задача программиста Пошел нахуй отседова, мудак. Это задача компилятора и сопровождающих утилит, блядь. Задача программиста — программировать, а не решать проблемы машин. Пиздец, отпиздить бы каждого, кто несет такие мысли людям. Мудоебы.
#WGFVIU/0BL / @folex --> #WGFVIU/QV0 / 3713 дней назад
@n киса куку
#WGFVIU/EVG / @gds --> #WGFVIU/2K5 / 3713 дней назад
#WGFVIU/A6S / @komar --> #WGFVIU/GGX / 3713 дней назад
@polecat я прост не туда ответил случайно — ебаный макрап.
#WGFVIU/24G / @folex --> #WGFVIU/GGX / 3713 дней назад
@polecat ну кароч на один садишся сам на другой садиш свою мамашу
#WGFVIU/LS6 / @gds --> #WGFVIU/KZT / 3713 дней назад
@gds А У НЕЁ СЕГФОЛТ
#WGFVIU/138 / @folex --> #WGFVIU/LS6 / 3713 дней назад
@folex её сегфолт как раз садится на другой стул
#WGFVIU/8UA / @gds --> #WGFVIU/138 / 3713 дней назад
@gds а она сверху. Я видел такой прон.
#WGFVIU/QPJ / @folex --> #WGFVIU/8UA / 3713 дней назад
@folex "Это задача компилятора и сопровождающих утилит" - кто распределяет задачи? ты тоже заказчик мира? это может хоть задачей кастрированного хуя, вопрос в том, насколько эффективно он её решит. да, можно это запилить в компилятор, так и делается, чтобы жопорукие программисты могли тыкать пальцем в мышку и делать приложения. очевидно, что компилятор не может быть более творческим, чем человек, а программирование - это творчество. чем больше автоматизируется, тем проще программисту, но вместе с тем уёбищней финальная структура приложения.
#WGFVIU/2QJ / @n --> #WGFVIU/0BL / 3713 дней назад
@n киса ты с какова горада7
#WGFVIU/2WL / @gds --> #WGFVIU/2QJ / 3713 дней назад
@n Я совсем потерян, я смотрю. Даже не буду спрашивать, что такое "финальная структура приложения". Успехов в написании сложных проектов на сишечке.
#WGFVIU/T1T / @folex --> #WGFVIU/2QJ / 3713 дней назад
@gds давай нормальный аргумент. почему человеку разумному не следует заниматься таким (творческим, между прочим) процессом как выделение и освобождение памяти? кстати, а создание и уничтожение объектов в ООП - это что? тоже компилятор должен делать? программист должен только срать говно килотоннами, а компилятор ему жопу подтирать (за счёт ресурсов системы и дискового пространства, между прочим)?
#WGFVIU/ZU5 / @n --> #WGFVIU/2WL / 3713 дней назад
@folex Заебись опечатался. s/Я совсем потерян/Ты совсем потерян/
#WGFVIU/0W9 / @folex --> #WGFVIU/T1T / 3713 дней назад
@folex да тебе помощь нужна
#WGFVIU/WFG / @n --> #WGFVIU/0W9 / 3713 дней назад
@folex "сложных проектов на сишечке" - да написал уж - http://nessus.lv/nessusms , знаю, о чём говорю
#WGFVIU/G7Q / @n --> #WGFVIU/0W9 / 3713 дней назад
@n > Java <http://www.jwz.org/doc/java.html> just isn't optimised (or optimisable) for CPU-and-memory-intensive servers. Twitter засмущался и нервно перетаптывается перед великим http://static.nessus.lv/img/logo.gif
#WGFVIU/LS4 / @folex --> #WGFVIU/G7Q / 3713 дней назад
@folex давно твиттер CPU-and-memory-intensive сервер?
#WGFVIU/7L6 / @n --> #WGFVIU/LS4 / 3713 дней назад
@n Нет, что ты. У них совсем нет кешей. Все хуярят прям из текстовых файликов.
#WGFVIU/7WE / @folex --> #WGFVIU/7L6 / 3713 дней назад
@folex ты понимаешь разницу в нагрузке между CRUD-сайтом и mmorpg-сервером (причём без хуйни типа "все вышли -> выключить регион")?
#WGFVIU/6WI / @n --> #WGFVIU/7WE / 3713 дней назад
@n Нет, я никогда не занимался мморпг.
#WGFVIU/I39 / @folex --> #WGFVIU/6WI / 3713 дней назад
@folex попробуй, помогает
#WGFVIU/OL0 / @n --> #WGFVIU/I39 / 3713 дней назад
@n киса ты с какова раёна7 // тупая штоле, какое нахуй ооп
#WGFVIU/KF6 / @gds --> #WGFVIU/ZU5 / 3713 дней назад
@gds Да вы заебали. Это ниндзя, расходитесь.
#WGFVIU/P83 / @komar --> #WGFVIU/KF6 / 3713 дней назад
@n У меня нет доказательств, но я верю, что можно писать чистые (в referential-transparent смысле) программы, реализующие сервер для мморпг вроде майнкрафта так, что они будут быстрыми, пусть и с большим футпринтом.
#WGFVIU/E37 / @folex --> #WGFVIU/OL0 / 3713 дней назад
@folex ты понимаешь, почему нативный машинный код выполняется быстрее, чем через java-интерпретатор?
#WGFVIU/9UB / @n --> #WGFVIU/E37 / 3713 дней назад
@komar так вот я и разошёлся!
#WGFVIU/E2I / @gds --> #WGFVIU/P83 / 3713 дней назад
@gds Расходился.
#WGFVIU/MTW / @komar --> #WGFVIU/E2I / 3713 дней назад
@folex "но я верю, что" - бля, верующие уже в программировании проникли, пиздец
#WGFVIU/CAW / @n --> #WGFVIU/E37 / 3713 дней назад
@komar отринь мотан и ряды его расходящиеся!
#WGFVIU/NYF / @gds --> #WGFVIU/MTW / 3713 дней назад
@n Так-то я не обязательно про Java. Java ни разу не предрасполагает программиста к написанию корректных/чистых программ. Тот же Haskell компилится в тот же llvm, как и твоя сишечка в основном.
#WGFVIU/ZAR / @folex --> #WGFVIU/9UB / 3713 дней назад
@n Я никогда не занимался мморпг, более сильные утверждения я не могу выдвигать. Можешь читать это как "с сильной уверенностью предполагаю"
#WGFVIU/DGD / @folex --> #WGFVIU/CAW / 3713 дней назад
> According to DB-Engines, the most popular systems are Oracle, MySQL, Microsoft SQL Server, PostgreSQL and IBM DB2. > 1979, 1995, 1989, 1995, 1983 Самые популярные RDBMS -- старые, как говно мамонта. Видимо новую ни на каком языке нет смысла пилить.
#WGFVIU/GBY / @kb / 3713 дней назад
@kb Будто функциональные языки новы.
#WGFVIU/CR4 / @folex --> #WGFVIU/GBY / 3713 дней назад
@folex ты начал с критикой "Java <http://www.jwz.org/doc/java.html> just isn't optimised (or optimisable) for CPU-and-memory-intensive servers.". поменял показания, значит?
#WGFVIU/Y87 / @n --> #WGFVIU/ZAR / 3713 дней назад
@n потому что машинный или потому что код? // тред не читал, т.к. думал, что ты разговариваешь пастами
#WGFVIU/ODV / @kb --> #WGFVIU/9UB / 3713 дней назад
@n Начал я с критикой "ты мудоеб, пошел отсюда нахуй, нехуй людям рассказывать, что сишечка заебись" так-то. А цитата про джаву с твоего сайтца — это просто еще одна смешная деталь этого не очень смешного треда.
#WGFVIU/49O / @folex --> #WGFVIU/Y87 / 3713 дней назад
@polecat Так-то он есть
#WGFVIU/16X / @folex --> #WGFVIU/WYT / 3713 дней назад
@polecat Ну и байткод-то через интерпретатор выполняется в итоге.
#WGFVIU/32D / @folex --> #WGFVIU/WYT / 3713 дней назад
@folex если тебе не смешно - что ты здесь делаешь?
#WGFVIU/NN8 / @n --> #WGFVIU/49O / 3713 дней назад
@polecat ну там хуевые какие-то имплементации, да. Для подмножества жавы правда. Но есть.
#WGFVIU/VF5 / @folex --> #WGFVIU/8C1 / 3713 дней назад
@n Смеюсь. Вот такой я противоречивый.
#WGFVIU/7IR / @folex --> #WGFVIU/NN8 / 3713 дней назад
@folex это. кстати, показало, что джавадрочеры уже настолько с промытыми мозгами что свято верят в нативность джавы
#WGFVIU/S04 / @n --> #WGFVIU/32D / 3713 дней назад
@kb Монги изобретают по десять штук в месяц и ничего. Лучше б полезным чем занялись.
#WGFVIU/EZG / @komar --> #WGFVIU/GBY / 3713 дней назад
@n Ничего это не показало. Ты неточно выразился, тебя не так поняли. Не выебывайся тут, раб машины.
#WGFVIU/D65 / @folex --> #WGFVIU/S04 / 3713 дней назад
@komar Ну мы же про sql. А так -- тогда, вон, riak есть. // кстати, недавно охуел узнав, что код монги больше, чем код ghc
#WGFVIU/MY6 / @kb --> #WGFVIU/EZG / 3713 дней назад
@kb А ты думал, там люди в игрушки играют? // на самом деле пиздец
#WGFVIU/EEL / @komar --> #WGFVIU/MY6 / 3713 дней назад
@folex Мне, почему-то, кажется, что в плане всяких инфраструктур для практического применения -- очень даже. Хотя OCaml, с другой стороны, пиздец давно выглядит готовым.
#WGFVIU/LFG / @kb --> #WGFVIU/CR4 / 3713 дней назад
@kb не пали
#WGFVIU/1QD / @komar --> #WGFVIU/LFG / 3713 дней назад
@kb к сожалению, только с недавних пор, когда opam намутили. Стал готов для очень разных штук -- потыкать то да сё, самому колбасить разное, с зависимостями и всяким таким. Сейчас мультитредовость допилят, имплиситы всосут в релиз, и будет вообще заебись.
#WGFVIU/PUP / @gds --> #WGFVIU/LFG / 3713 дней назад
@komar не, программы пишу // бенчмарки хуйчмарки, чо несешь вообще
#WGFVIU/67I / @mugiseyebrows --> #WGFVIU/TZT / 3713 дней назад
@gds > к сожалению, только с недавних пор, когда opam намутили Ага. Раньше нахуй слали только на предложение установить приложение на Ruby или Python, а теперь еще и с окамлом туда же посылать станут.
#WGFVIU/QKN / @komar --> #WGFVIU/PUP / 3713 дней назад
@komar Всем в докер // это модно
#WGFVIU/PUX / @kb --> #WGFVIU/QKN / 3713 дней назад
@gds Шо, таки будет мультитредовость? Производительность однотредовых пострадает?
#WGFVIU/H3I / @kb --> #WGFVIU/PUP / 3713 дней назад
@kb Скорее всего, сделают альтернативный рантайм.
#WGFVIU/5SV / @komar --> #WGFVIU/H3I / 3713 дней назад
@kb пострадает, но не очень. 1. в некоторых случаях при взятии мутабельного поля будет выполняться копирование из minor heap треда в общий хип (типа как minor gc, которое быстрое, и только по данному значению и его деткам), 2. что хуёво -- хотят собирать мусор в общем хипе только после синхронизации+остановки всех тредов. С другой стороны, если нужен около-реалтайм, то и в однотредовом надо поебохаться, чтобы мусорщик не срал в компот, тут же будет похоже.
#WGFVIU/S4Q / @gds --> #WGFVIU/H3I / 3713 дней назад
@gds Ясно. Ну, про stop the world -- шо поделать.
#WGFVIU/BNW / @kb --> #WGFVIU/S4Q / 3713 дней назад
>2017 >RDBMS
#WGFVIU/HD7 / @anonymous / 3713 дней назад
@anonymous Да, детка!
#WGFVIU/COR / @komar --> #WGFVIU/HD7 / 3713 дней назад
@folex В чем проблема написания сложных проектов на сишечке?
#WGFVIU/5LW / @ninesigns --> #WGFVIU/T1T / 3713 дней назад
@4da В сложности их поддержки и быстрому скативанию кода в говна, если не прикладывать огромных усилий к поддержанию его на должном уровне.
#WGFVIU/TJO / @folex --> #WGFVIU/5LW / 3713 дней назад
@4da в говно*
#WGFVIU/TE5 / @folex --> #WGFVIU/5LW / 3713 дней назад
@folex Не видел проектов, на других языках, где бы код и сложность не катились в говно.
#WGFVIU/ZMY / @ninesigns --> #WGFVIU/TE5 / 3713 дней назад
@folex Как ты собираешься со слоджностью бороца, серебрянопулечник? Классики-хуясики наворачвать? Или пилить моноидалньные генераторы?
#WGFVIU/LHA / @ninesigns --> #WGFVIU/TJO / 3713 дней назад
@4da Я лишь утверждаю, что с сишечкой удержать код от скатывания намного сложнее.
#WGFVIU/MMS / @folex --> #WGFVIU/ZMY / 3713 дней назад
@folex С хуяли ты это решил?
#WGFVIU/7G2 / @ninesigns --> #WGFVIU/MMS / 3713 дней назад
@4da Вчитывался в несколько проектов под мобилочки (и совсем мало не-под-мобилочки), написанных на си. Мне очень не понравилось.
#WGFVIU/8RW / @folex --> #WGFVIU/7G2 / 3713 дней назад
@4da Я собираюсь делать код как можно проще, например. И каждую отдельную сущность как можно более целостной и обособленной. Я бы сказал "придерживаться ссылочно-прозрачных функций", но ты же меня заебешь.
#WGFVIU/KRS / @folex --> #WGFVIU/LHA / 3713 дней назад
Сорцы ведра читал? Postgresql? Nginx? Ffmpeg?
#WGFVIU/QI9 / @ninesigns / 3713 дней назад
@4da Только ядра очень частично. Там все неплохо на мой взгляд. Намного лучше, чем в тех проектах, о которых я говорил. Но опять же — какое кол-во усилий прикладывается, что бы так было? И программисты, которые в ядро коммитят — намного выше среднего.
#WGFVIU/ZVX / @folex --> #WGFVIU/QI9 / 3713 дней назад
@folex Ну вот тебе и ответ на вопрос - все дело в уровне программиста. Конечно на высокоуровневых языках кодировать приятней и в типовых случаях быстрее, тока вот рост сложности ты никак не промитигируешь кроме как созданием четких интерфейсов между кусками приложения. Язычки типа окамла или ракета, где есть нормальные модули что-то могут тебе дать, но за тебя они конфетку не сделают.
#WGFVIU/PCK / @ninesigns --> #WGFVIU/ZVX / 3712 дней назад
@4da Я говорил именно о сложности, а не о пригодности в принципе :) Ну и некоторые языки тебе всё-таки подсказывают некоторый стиль кодирования, а в некоторых ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ МЕЖДУ ПОТОКАМИ ТЫСЯЧА ПОЛЛОВ ХУЯРИМ ПОСОНЫ (телеграм так для меня выглядит есичо)
#WGFVIU/34I / @folex --> #WGFVIU/PCK / 3712 дней назад
@folex Ну а где-то у тебя может быть тысячи мелких классов, тайпклассов, полурабочих dsl-ей на макросах, трахманаток или лапши на коллбеках. Мудак будет писать как мудак на любом языке. Языки, которые форсят ссылочную прозрачность это благо, только вот задумайся - стейт-то все равно есть и его надо таскать между функциями, комбинировать, лифтить, преобразовывать итц. Вот тут таится дохуя скрытой сложности на самом деле.
#WGFVIU/BZR / @ninesigns --> #WGFVIU/34I / 3712 дней назад
@folex Телеграмму это хуйта кстати, бойкотриуйте её, лучше токс пилить
#WGFVIU/7TM / @ninesigns --> #WGFVIU/34I / 3712 дней назад
@4da Понятное дело, что прозрачность — это не просто. Иногда хуй проссышь, как сделать правильно, лаконично и при этом прозрачно. Я иногда пасую например, и отказываюсь от неё. В основном потому что в проекте всё написано без знания даже, что это такое, но частенько и из-за того, что я тупое хуйло. А те сорцы телеграма, что я видел — они сильно отличаются от продакшн версии их, насколько я знаю.
#WGFVIU/02D / @folex --> #WGFVIU/BZR / 3712 дней назад
@komar Лично мне похуй на чем написан бинарь, который мне а систему ставится, особенно если он статичныц, а в нашем 17ом статичные бинари это скорее плюс, чем минус
#WGFVIU/LBH / @ninesigns --> #WGFVIU/QKN / 3712 дней назад
@4da Беда с рубями/питонами в том, что там обычно не бинарь, а куча скриптов, и всё крайне быстро идет пиздой, учитывая экосистему этих языков, которая больше похожа на выгребную яму.
#WGFVIU/MTD / @folex --> #WGFVIU/LBH / 3712 дней назад
@4da *пять раз настраивал какую-то еботу на питоне и рубях, ни строчки кода на них не писал*
#WGFVIU/CJO / @folex --> #WGFVIU/LBH / 3712 дней назад
@folex Специалист.
#WGFVIU/3IW / @komar --> #WGFVIU/CJO / 3712 дней назад
@folex Если я коммичу в кусок проекта, то мне похуй если где-то сделано уебищно с кучей глобального стейта. Делаю красиво и обычно это всегда избавляет от проблем в будущем и облегчает реюз
#WGFVIU/9EY / @ninesigns --> #WGFVIU/02D / 3712 дней назад
@folex Не вижу тут дохуя проблемы. Единственное с чем я жрал говно с петушоном - с кросскоспилом всяких биндингов и distutils под другие платформы
#WGFVIU/WL7 / @ninesigns --> #WGFVIU/MTD / 3712 дней назад
@4da Ну, если тебе просто запилить туда фичу, то да. А если я с людьми его пилю, и каждый из нас вполне себе знает всю кодовую базу, и мы каждый за друг друга способны отлавливать баги, то общее состояние проекта важно.
#WGFVIU/NI3 / @folex --> #WGFVIU/9EY / 3712 дней назад
@4da В питоне не так плохо как в рубях, но меня сильно доебала организация зависимостей всякой хуйни друг от друга. Всё конфликтует, хуй удалишь если установил, какая-то пизда. Если ставишь не в чрут (или альтернативы), то лучше сразу выкинуть систему.
#WGFVIU/YW3 / @folex --> #WGFVIU/WL7 / 3712 дней назад
@folex Это ты со сборкой сишиных бинарей и либ не ебался, там возоэможен такой же адок с депендосами, у меня недавно был кейс, что аппплиха на sdl2, которая dlopen-ила libEGL падала внутрях последней . после длительной ебли закостылял вкомпмливанием -lEGL, потому что заебался разбираться в бинарной магии. Со скриптами хоть отследить можно почему какая падла гадит
#WGFVIU/YME / @ninesigns --> #WGFVIU/YW3 / 3712 дней назад
@4da Это верно, даже близко не стоял. Максимум с моновскими dll-ками наелся, если уж говорить про зависимости бинарников.
#WGFVIU/Z7T / @folex --> #WGFVIU/YME / 3712 дней назад
@n > java интерпретатор референсная жвм уже больше десяти лет как обмазана житом, и тотальная интерпретация выполняется только первое время, пока хотспоты не запрофайлены и скомпилированы. Беда жвм не в тормозном исполнении кода или плохой кодогенерации (как раз в этом плане Hotspot VM - одна из лучших в мире), а из-за ГЦ, который, с одной стороны провоцирует программиста расслабиться и не думать о выделении-освобождении памяти, с другой стороны требует хорошей квалификации и понимания работы vm, чтобы грамотно аллоцировать память и не упираться в пресловутый ГЦ. В результате имеем орду макак, которые лабают код левой пяткой, из-за чего у жавы репутация тормоза и поедателя памяти.
#WGFVIU/5GJ / @etw --> #WGFVIU/9UB / 3712 дней назад
@etw На самом деле жава не тормозит и не жрёт память, она быстренько обсирается стектрейсом на n экранов и падает.
#WGFVIU/8LD / @anonymous --> #WGFVIU/5GJ / 3712 дней назад
@anonymous > она быстренько обсирается стектрейсом на n экранов и падает Tell me more. Мне как бы доводилось админить на серверах жаву, на которой писали нормальные программисты. И многостраничные стектрейсы я видела у только когда в кода был дедлок.
#WGFVIU/YBI / @etw --> #WGFVIU/8LD / 3712 дней назад
@4da Зависит от натреннированности, наверное. Летела структура через функцию видит структура структуру структура структура функция.
#WGFVIU/FSJ / @anonymous --> #WGFVIU/5LW / 3712 дней назад
@etw любое, даже самое нетормозное интерпретирование кода будет всё равно значительно более тормозным, чем нативное исполнение. а GC только для макак и нужен, следовательно - java - язык для макак
#WGFVIU/2O8 / @n --> #WGFVIU/5GJ / 3712 дней назад
@n Ебать ты байтоёб, не забывай высвобождать.
#WGFVIU/GEU / @je --> #WGFVIU/2O8 / 3712 дней назад
@je если бы линукс писали на жабе, нас бы вообще не было. это как с религией - несмотря на все достижения науки пгмнутые уверены, что бог важнее и полезнее.
#WGFVIU/0Z7 / @n --> #WGFVIU/GEU / 3712 дней назад
@n Для всего свой инструмент. Где-то нужна производительность, где-то важнее быстрая разработка с GC. Помимо явы (где GC просто по-ебаному настроен) есть другие ЯП с GC, где он-таки работает, взять тот же D lang.
#WGFVIU/O7X / @je --> #WGFVIU/0Z7 / 3712 дней назад
@je *Digital mars D lang compiler.
#WGFVIU/VYD / @je --> #WGFVIU/O7X / 3712 дней назад
Заебали, отписываюсь.
#WGFVIU/J8C / @komar / 3712 дней назад
@komar омг терпила
#WGFVIU/617 / @krkm --> #WGFVIU/J8C / 3712 дней назад
@n Чувак, повторю еще раз специально для тебя с дополнительными пояснениями: в жаве интерпретируется только те функции, который практически не вызывается, те же, который вызывается постоянно ("горячие участки" aka hotspot-ы, в честь которых, скажу тебе по секрету, названа референсная JVM, которая, также, к слову, создана на базе наработок проекты виртуальной машины языка Self, являвшейся передовой на тот момент :3), профилируются и на основании полученных данных компилируются в машинный код и оптимизируются в рантайме. Ты можешь включить принудительную AOT компиляцию всего код при запуске JVM с помощью флага -Xcomp, однако это не позволяет оптимизировать код на основании данных профилировщика, потому результаты в некоторых тестах получаются хуже, чем в смешанном режиме, когда компилируются и оптимизируются только часто используемые функции. Можешь, конечно, еще включить принудительное интерпретирование всего байткода опцией -Xint, если ты мазохист и хочешь десятикратных тормозов по сравнению с дефолтным режимом работы JVM.
#WGFVIU/VJW / @etw --> #WGFVIU/2O8 / 3712 дней назад
@etw ну то есть как перекомпилировать ядро при каждом буте. понятно
#WGFVIU/FDW / @n --> #WGFVIU/VJW / 3712 дней назад
@n Не понимаю при чем тут ядро, если я поясняла тебе про то, что ты про "интерпретирование байткода" немного запизделся. Впрочем, во-первых, опыты по компиляции прыщеядра во время запуска уже ставили (google://tccboot) и добивались 10 секунд (ясен пень, за счет хреновой оптимизации, но там и AOT был, а не JIT). И, во-вторых, напомню, что ты речь завел про серверные демоны, у которых отношение количества запусков ко времени работы довольно маленькое - плевать, что рантайм выходит на полную производительность в течение 5-10 минут после запуска под нагрузкой, если он потом работает у тебя месяцами.
#WGFVIU/I3P / @etw --> #WGFVIU/FDW / 3712 дней назад
@etw да, а на сишечке можно сразу скомпилировать один раз как надо, и хоть каждую секунду перезапускай, сразу быстро будет
#WGFVIU/EMI / @n --> #WGFVIU/I3P / 3712 дней назад
@n А как надо компилировать один раз? А то ведь компилятор в JVM компилирует в зависимости от того, как код используется (какие ветки условий чаще исполняются, насколько реально в текущих условиях надо разворачивать циклы, и т.д.) и на какой платформе крутится (какой набор SIMD команд поддерживается процессором). И, кстати, зачем сетевой демон надо постоянно перезапускать?
#WGFVIU/B9S / @etw --> #WGFVIU/EMI / 3712 дней назад
@etw нормальный программист способен лучше понять, где что чаще используется, чем неодушевлённая машина. платформу gcc определит, например. уже лет 30 определяет, есличо. "И, кстати, зачем сетевой демон надо постоянно перезапускать?" - ну, глючит, например, взял перезапустил
#WGFVIU/LYA / @n --> #WGFVIU/B9S / 3712 дней назад
@n В начале треда ты был не такой жирный, я аж проникся. А щас ты чото совсем охуел. Нормальный программист, блядь. Уебывай давай.
#WGFVIU/YHA / @folex --> #WGFVIU/LYA / 3712 дней назад
@folex приведи пример, где неодушевлённая машина может лучше понять, какие места более горячие в коде, чем программист, проектирующий его
#WGFVIU/0U0 / @n --> #WGFVIU/YHA / 3712 дней назад
@n >платформу gcc определит, например. уже лет 30 определяет гентоёб в треде, всем в ссанину!
#WGFVIU/GQN / @anonymous --> #WGFVIU/LYA / 3712 дней назад
#WGFVIU/IQU / @n --> #WGFVIU/GQN / 3712 дней назад
@n Заканчивай с этой хуйней, у меня уже весь монитор в разводах.
#WGFVIU/FZV / @folex --> #WGFVIU/0U0 / 3712 дней назад
@n > нормальный программист способен лучше понять, где что чаще используется, чем неодушевлённая машина Че там понимать то? Наставил счетчиков, да считай в какую ветвь условия чаще переход происходит на конкретном сервере при конкретной нагрузке. Тем более, что у программиста на сишке контроля за branch prediction-ом нет. > платформу gcc определит, например. уже лет 30 определяет, есличо. Окай, у тебя есть десят серверов на последних процессорах AMD64 и еще 10 на интелах 2хлетней давности. С какими флагами ты будешь собирать демон на билд-ферме? > "И, кстати, зачем сетевой демон надо постоянно перезапускать?" - ну, глючит, например, взял перезапустил Если твои демоны надо постоянно перезапускать в продакшене, то пошел нахуй из профессии.
#WGFVIU/BHL / @etw --> #WGFVIU/LYA / 3712 дней назад
@etw ТЫ ЧТО А ВДРУГ ГЛЮЧИТ НУ ПОДУМАЕШЬ БЫВАЕТ ПАМЯТЬ ТЕЧЕТ ИЛИ ЕЩЕ ЧТО ЗАТО БЫСТРО
#WGFVIU/R2M / @folex --> #WGFVIU/BHL / 3712 дней назад
@folex Блядь, с кем поведешься…
#WGFVIU/8RF / @folex --> #WGFVIU/FZV / 3712 дней назад
@folex Если такая хуйня постоянно и не чинится, то >пошел нахуй из профессии
#WGFVIU/8EN / @etw --> #WGFVIU/R2M / 3712 дней назад
@etw а кто память чистить будет? :((
#WGFVIU/1Q3 / @folex --> #WGFVIU/8EN / 3712 дней назад
Охуеть, меня осенило. Есть программисты-дворники! Они постоянно чистят память, освобождают место. Клининг-программист прям.
#WGFVIU/1E7 / @folex / 3712 дней назад
@folex Админы сами на хаскиле все, что надо перепишут :3
#WGFVIU/8CU / @etw --> #WGFVIU/1Q3 / 3712 дней назад
@etw "при конкретной нагрузке" - ага, а если нагрузка вдруг изменится, то чё? Например вначале пошло триллиард запросов на несуществующую страницу, сервер заоптимизировался по самые гланды на выдачу 404, потом неадекватные запросы кончились и пошли нормальные, и сервер сосёт всё оставшееся время (пока не перезапустишь, потом ещё сосёт 5-10 минут). "у программиста на сишке контроля за branch prediction-ом нет" - зато есть мозг, в большинстве случаев способный более точно прикинуть эти значения. "на билд-ферме" - на каждом сервере собирать и всё, хули там.
#WGFVIU/J19 / @n --> #WGFVIU/BHL / 3712 дней назад
@folex кстати, в майнкрафте нихуёво так течёт, гигабайты жрёт в никуда
#WGFVIU/V20 / @n --> #WGFVIU/R2M / 3712 дней назад
@n БЫСТРЕЕ ПЕРЕЗАПУСКАЙ.
#WGFVIU/4HH / @folex --> #WGFVIU/V20 / 3712 дней назад
@n HLFS RIP
#WGFVIU/X3L / @anonymous --> #WGFVIU/IQU / 3712 дней назад
@n >"при конкретной нагрузке" - ага, а если нагрузка вдруг изменится, то чё? Профилировщик заметит и запросит рекомпиляцию функции в рантайме. И никаких перезапусков или 5-10 минут (если у тебя одна функция компилируется 10 минут, то совет я уже тебе дала). > "у программиста на сишке контроля за branch prediction-ом нет" - зато есть мозг, в большинстве случаев способный более точно прикинуть эти значения. Какое еще нахуй прикинуть с флагом -O2? Компилятор нагенерит тебе хуй знает что, в чем ты потом без дебаг символов не разберешься. >"на билд-ферме" - на каждом сервере собирать и всё, хули там. Тебя админы нахуй пошлют с такими охуительными идеями и собиратся все в реальности будет максимум под стандартный x86_64 с SSE2.
#WGFVIU/7EI / @etw --> #WGFVIU/J19 / 3712 дней назад
@etw "Профилировщик заметит" - то есть он постоянно активен? это ж ЧЁРНАЯ ДЫРА РЕСУРСОВ. ладно б ещё скомпилировать и съебался (но тогда проблемы как выше), но если он постоянно работает, чё-то там бенчмаркит - это дикие минусы к производительности. "рекомпиляцию функции в рантайме" - это как? выполняется например функция квиксорт, до середины дошло, хуяк а дальше уже новый код, пиздец, оперативная память люто забивается дерьмом полусдохших тридов и gc бежит чистить всё вилкой. охуенная производительность?
#WGFVIU/X2L / @n --> #WGFVIU/7EI / 3712 дней назад
@etw "Тебя админы нахуй пошлют с такими охуительными идеями" - схуяли пошлют? на сервере софт скомпилить - как два пальца обосрать. это ж не ноут и не смартфон, где тонкая энергетическая конфигурация процессора.
#WGFVIU/LYL / @n --> #WGFVIU/7EI / 3712 дней назад
@etw ну или если у тебя 1000 серверов - сделать билд ферму под каждую архитектуру что у тебя есть. вряд ли все они на разных архитектурах будут, обычно там одна архитектура и всё.
#WGFVIU/C2H / @n --> #WGFVIU/7EI / 3712 дней назад
@n иди про jit почитай, заебал уже, дворник.
#WGFVIU/W9B / @folex --> #WGFVIU/X2L / 3712 дней назад
@n Иди, расскажи админам с "фермами" в >100 машин про деплоинг платформо-зависимого приложения. Посмотрим, насколько быстро тебя обоссут.
#WGFVIU/50I / @folex --> #WGFVIU/C2H / 3712 дней назад
@n Хотя какое-то там 100. Думаю даже с 3-5 нахуй тебя пошлют.
#WGFVIU/YTV / @folex --> #WGFVIU/C2H / 3712 дней назад
@folex Я уже тут и обоссала его. IRL никто с оптимизацией сишных демонов под конкретное поколение процессора не заморачивается и все собирается с -march=generic.
#WGFVIU/W11 / @etw --> #WGFVIU/50I / 3712 дней назад
@folex 3-5 с уникальной архитектурой? алсо, админ - раб системного архитектора (и даже обычного программиста), не наоборот
#WGFVIU/9T1 / @n --> #WGFVIU/YTV / 3712 дней назад
@n Админ — человек, который помогает налаживать процесс разработки. Раб — это ты.
#WGFVIU/X8M / @folex --> #WGFVIU/9T1 / 3712 дней назад
@etw ну а на сервере взял и собрал секунд за 40
#WGFVIU/Y3Q / @n --> #WGFVIU/W11 / 3712 дней назад
@folex ты понимаешь, что решение "использовать java" или "использовать C" не принимает админ? его аргумент "мне похуй, пишите на джава т.к. мне так удобнее" ему по лицу размажут, ну и заставят сожрать немного
#WGFVIU/SUY / @n --> #WGFVIU/X8M / 3712 дней назад
@n > системного архитектора Как все запущено. Алсо в реальности иерархии отделов эксплуатации и разработки сходятся где-то в районе технического директора. "Системный архитектор" со своими охуительными идеями по сборке демонов на каждом сервере радо единиц процентов производительности пролетит, как фанера над Парижем и пойдет дальше рисовать в Visio схемки.
#WGFVIU/CB2 / @etw --> #WGFVIU/Y3Q / 3712 дней назад
@n Тебе про другое говорят. Разумеется, админам похуй, что админить, но не похуй как. Если ты будешь настаивать на сборке демона на каждом сервере, тебя точно пошлют.
#WGFVIU/UZ0 / @etw --> #WGFVIU/SUY / 3712 дней назад
@etw блять, там 3 команды запустить и минуту подождать. в чём вообще проблема? если серверов миллион - автоматизировать, чтобы на каждом выполнилось. вообще 0 проблем
#WGFVIU/5PX / @n --> #WGFVIU/CB2 / 3712 дней назад
@etw ну по одной билдферме на архитектуру, например
#WGFVIU/MVF / @n --> #WGFVIU/UZ0 / 3712 дней назад
@n >блять, там 3 команды запустить и минуту подождать. в чём вообще проблема? если серверов миллион - автоматизировать, чтобы на каждом выполнилось. вообще 0 проблем чувак, ты бесконечно далек от реалий компаний с кучей серверов, где действительно существует должность "системный архитектор". Там обычно есть CI, которая собирает софт, гоняет тесты и опакечивает. А потом эти пакеты проходят через определенный воркфлоу доставки на продакшен, перед этим помариновавшись на разных тестингах и пройдя через руки нескольких отделов. И дроч на всю эту бюрократию такой, что по факту тестируют и аппрувят выкат в продакшен не какой-то срез твоего говнокода, а конкретную сборку, вот этот вот, блядь, пакет, т.е. никаких "собирать на каждом сервере" и в помине нет.
#WGFVIU/CL8 / @etw --> #WGFVIU/MVF / 3712 дней назад
@etw у нас компания с 30 серверами, всё компилируем что надо. почему нельзя сначала погонять тесты, а потом через ci залить везде код и скомпилировать? или нужно каждую сборку тестировать? зачем?
#WGFVIU/VY5 / @n --> #WGFVIU/CL8 / 3712 дней назад
@n >30 серверами уау, вебскейл
#WGFVIU/F7O / @anonymous --> #WGFVIU/VY5 / 3712 дней назад
@n палю: компилятор может по-разному обосраться в зависимости от оптимизаций
#WGFVIU/FFB / @anonymous --> #WGFVIU/VY5 / 3712 дней назад
@n На что админы с кулфейсом говорят "нам нужен бюджет на дополнительное железо, на дополнительных сотрудников в отдел, чтобы этой херней страдать, плюс, нам надо будет некоторое время потратить на их обучение и решение поставленной вами задачи , целью которой является увеличение производительности на 0,5%, в ущерб другим задачам", после чего системный архитектор отправляется курить бамбук.
#WGFVIU/WEW / @etw --> #WGFVIU/MVF / 3712 дней назад
@etw такие компании долго не живут
#WGFVIU/XGQ / @n --> #WGFVIU/WEW / 3712 дней назад
@anonymous сейчас не 80-е
#WGFVIU/9KJ / @n --> #WGFVIU/FFB / 3712 дней назад
@n палю вебскейл: https://lwn.net/Articles/591780/ >One thing that seemed to surprise Mason was the high failure tolerance that the Facebook production system has. He mentioned the 3.10 pipe race condition that Linus Torvalds fixed. It is a "tiny race", he said, but Facebook was hitting it (and recovering from it) 500 times per day. с компиляторами и прочим та же хуита
#WGFVIU/NGV / @anonymous --> #WGFVIU/9KJ / 3712 дней назад
@n К сожалению, такие компании живут очень долго. А как раз те, которые тратят ресурсы на всякую ненужную хуйню, загибаются быстро.
#WGFVIU/Z74 / @etw --> #WGFVIU/XGQ / 3712 дней назад
@etw работать в компании, в которой начальники тупее системных администраторов, не нужно. ресурсов на компиляцию не тратится - сейчас не 60-е .
#WGFVIU/920 / @n --> #WGFVIU/Z74 / 3712 дней назад
@anonymous охуеть, в 0.000001% случаев багает, мы все умрём
#WGFVIU/GAM / @n --> #WGFVIU/NGV / 3712 дней назад
@n >работать в компании, в которой начальники тупее системных администраторов Я бы не назвала тупыми людей заворачивающих ненужные и усложняющие работу идеи, дающие практически неощутимый профит. Никому нахуй не упало поддерживать в N раз больше профилей сборки и потом ебаться с ними, конфигурацией серверов и деплоем, а также дополнительное железо для этих забав, если прирост это сэкономит 0,5% процессорного времени. > ресурсов на компиляцию не тратится - сейчас не 60-е Ресурсы вообще, а не только память и процессор: человеческие, материальные.
#WGFVIU/K2V / @etw --> #WGFVIU/920 / 3712 дней назад
@etw "заворачивающих ненужные и усложняющие работу идеи" - нет, они тупые если верят администраторам о всех затратах и проблемах. по сути, нужно просто добавить 1 ёбаную строчку в CI скрипт. "поддерживать в N раз больше профилей сборки" - да они ОДИНАКОГО БУДУТ РАБОТАТЬ. если там нет архитектурно-специфичного кода, но тогда уже и java не поможет. кстати, а поддерживать одну сборку на разных сборках джавы - это что? "человеческие, материальные" - дохуя потратится на добавление 1 строчки в CI?
#WGFVIU/DSS / @n --> #WGFVIU/K2V / 3712 дней назад
@n > "заворачивающих ненужные и усложняющие работу идеи" - нет, они тупые если верят администраторам о всех затратах и проблемах А кому еще верить в вопросах проблем эксплуатации, если не инжеренам эксплуатации? > по сути, нужно просто добавить 1 ёбаную строчку в CI скрипт. И потом тестировать в N раз больше билдов. а потом еще как-то настраивать, чтобы разные билды выкатывались на разные машины. ну и поддерживать потом все это. ради хуйни, которую никто не заметит. > "поддерживать в N раз больше профилей сборки" - да они ОДИНАКОГО БУДУТ РАБОТАТЬ. если там нет архитектурно-специфичного кода Если различаются march, значит код генерится разный и надо тестировать все сборки под все микроархитектуры. > но тогда уже и java не поможет. кстати, а поддерживать одну сборку на разных сборках джавы - это что? ЖВМ одна под все микроархитектуры в рамках одной архитектуры.
#WGFVIU/CTG / @etw --> #WGFVIU/DSS / 3712 дней назад
@etw у начальника должна быть неуязвимость к лжи подчинённых, иначе его отделу пиздец
#WGFVIU/P4H / @n --> #WGFVIU/CTG / 3712 дней назад
@etw и что что одна? она может ПРОФИЛИРОВАТЬ по разному
#WGFVIU/ACS / @n --> #WGFVIU/CTG / 3712 дней назад
@n Так никакой лжи. Админам действительно понадобится больше времени тратить на деплои, поддержку более сложной конфигурации и прочие сопутствующие проблемы.
#WGFVIU/N7Z / @etw --> #WGFVIU/P4H / 3712 дней назад
@n Тут скорее психологическая проблема: в случае жаваговна у тебя CI высирает 1 артефакт и ты тестишь его, в случае сишки у тебя CI будет высирать N артефактов и ты не сможешь протестировать один, а на остальные забив и выкатив в продакшен просто так.
#WGFVIU/AO7 / @etw --> #WGFVIU/ACS / 3712 дней назад
@etw да я сам лично возьму и настрою за 1 минуту в крайнем случае. какая сложная конфигурация? в CI дописать ./configure && make и всё
#WGFVIU/J0L / @n --> #WGFVIU/N7Z / 3712 дней назад
@etw бля, в чём разница? допустим, 6 микроархитектур, ну хорошо, компилятор сделал 6 версий нативного кода. а JIT сколько сделает? тоже 6 разных. почему в первом случае надо все 6 тестировать, а во втором нет?
#WGFVIU/U99 / @n --> #WGFVIU/AO7 / 3712 дней назад
@n Ну не совсем дописать, а просто добавить еще N-1 профилей. Но окей, вот у тебя CI собрала N пакетов. Что ты дальше с ними делать будешь?
#WGFVIU/C24 / @etw --> #WGFVIU/J0L / 3712 дней назад
@etw каких профилей? один профиль, ёпта. просто результирующие бинарники будут разными.
#WGFVIU/Z12 / @n --> #WGFVIU/C24 / 3712 дней назад
@n Я тебе уже объяснила. Ты можешь протестировать 1 кусок жаваговна и понять, что он как-то работает. А вот взять из N пакетов 1 и про остальные подумать, что они тоже работают, не можешь. Потому что вдруг у тебя компилятор обосрался и в одном из пакетов при линковке перепутал местами функции. И если такое произойдет, то ты подумаешь "блядь, я мог это поймать, если бы тестировал все сборки", а если же у тебя обосрется JVM в рантайме, то ты подумаешь "нихуя себе, в прочем, в рантайме и не такая черная магия всплывала".
#WGFVIU/K6S / @etw --> #WGFVIU/U99 / 3712 дней назад
@n плевать. вот у тебя N пакетов высрала CI, что ты с ними будешь делать? на стену повесишь?
#WGFVIU/SR2 / @etw --> #WGFVIU/Z12 / 3712 дней назад
@n Сравнивать "начальников" и админов по "уму"… Ну охуеть.
#WGFVIU/P28 / @folex --> #WGFVIU/920 / 3712 дней назад
@etw каких пакетов? исходный код, ёпта. потом через CI он ему делается ./configure && make && make install и тестируется
#WGFVIU/WZH / @n --> #WGFVIU/SR2 / 3712 дней назад
@etw проблема лишь в твоей попытке поделить разные сборки на разные пакеты, а разные компиляции jitа при этом считать одним. что за двоемыслие?
#WGFVIU/LHG / @n --> #WGFVIU/K6S / 3712 дней назад
@n Ты в итоге получаешь на каждой машине свой "пакет", то есть бинарники. И каждый нужно тестировать отдельно, потому что по индукции ты тут не можешь рассуждать о том, сломаны все билды или нет
#WGFVIU/030 / @folex --> #WGFVIU/WZH / 3712 дней назад
@n У тебя какое-то странное понимание CI. Ты предлагаешь ставить на продакшен серверах build agent-ов, выполняющих профили не в песочнице? ты еще более ебанутый, чем я думала.
#WGFVIU/GSG / @etw --> #WGFVIU/WZH / 3712 дней назад
@n Вообще да, двоемыслие имеет место быть. Как-то живиэмовскому житу больше доверяешь чем его же компилятору и тем более больше чем компилятору сишки. Хз почему.
#WGFVIU/M23 / @folex --> #WGFVIU/LHG / 3712 дней назад
@etw ум = способность достигать целей. если админ достигает таких целей, как пинать хуй или люто троллить программистов, то я считаю его умным. если начальник не достигает цели обеспечить эффективную разработку кода, то он идиот. умный > идиот .
#WGFVIU/R3V / @n --> #WGFVIU/SR2 / 3712 дней назад
@folex а почему не надо тестировать отдельно на каждой машине каждую "сборку" jitа? в т.ч. сборки при разных нагрузках
#WGFVIU/6RW / @n --> #WGFVIU/030 / 3712 дней назад
@etw Просто там, где у тебя deb-пакет(ну или докер, что у вас там — хз), у него исходный код. Ты доверяешь JIT компилятору, он доверяет gcc/clang. По сути одно и то же, если архитектуры машин не различаются.
#WGFVIU/C6I / @folex --> #WGFVIU/GSG / 3712 дней назад
@etw ну хорошо, make install не обязательно. ну в чрут загони на худой конец. тоже мне проблема.
#WGFVIU/TVJ / @n --> #WGFVIU/GSG / 3712 дней назад
@folex потому что современный маркетинг
#WGFVIU/OIG / @n --> #WGFVIU/M23 / 3712 дней назад
@n Потому что корректность байткода гарантирована JVM. А корректность каждой отдельной программы на сишечке на каждой отдельной архитектуре не гарантирована никем — слишком низкий уровень.
#WGFVIU/CYP / @folex --> #WGFVIU/6RW / 3712 дней назад
@n У админа цели решать свои задачи, будучи максимально полезным компании. Если его просят сделать хуйню, усложняющую поддержку вверенных ему систем, которая при этом дает мизерный прирост по производительностина продакшене (за который, напомню, отвечает он), у него есть все основания эту самую хуйню завернуть.
#WGFVIU/PO1 / @etw --> #WGFVIU/R3V / 3712 дней назад
@folex в таком случае получается, что вносится дополнительное звено, тем самым риск увеличивается. вероятнее, что ( ( глючит gcc ) или ( глючит jit ) ), чем что ( глючит gcc ). очевидно, что тестировать актуальнее именно jit-поделия. особенно учитывая что он всё переделывает в зависимости от нагрузки и хз чего там ещё
#WGFVIU/B92 / @n --> #WGFVIU/C6I / 3712 дней назад
@n Потому что обосравшийся рантайм - это одно, а обосравшаяся сборка - это другое. К магии в рантайме ты относишься нормально, мало ли какая погода на марсе, все равно все баги времени выполнения ты не переловишь и будешь замечать их всегда по мере поступления. А вот протестировать, то, что все собирается нормально, вполне в твоих силах.
#WGFVIU/OJW / @etw --> #WGFVIU/6RW / 3712 дней назад
@n Суть в том, что разнообразие того, с чем приходится иметь дело житу намного меньше, чем разнообразие того ассемблера, что дает сишный код. У JVM тут просто еще один уровень абстракции, а у сишки — нет.
#WGFVIU/2A1 / @folex --> #WGFVIU/B92 / 3712 дней назад
@folex "корректность байткода гарантирована JVM" - ширина твоего ануса гарантирована ведром. это ничего не доказывает. + из корректности байткода не следует корректность того, во что его скомпиляют. "не гарантирована никем" - хорошими программистами, например. в джаве тоже можно такого наделать, что jit охуеет
#WGFVIU/XCX / @n --> #WGFVIU/CYP / 3712 дней назад
@folex Только при этом админы вместе с безопасниками нахуй пошлют разработчиков с идеей прямого доступа к продакшену из CI и к наличию компиляторов на серверах, в частности.
#WGFVIU/QVU / @etw --> #WGFVIU/C6I / 3712 дней назад
@etw весь этот мейк-инсталл можно завернуть в докер какой-нибудь, и вот тебе песочница, речь-то не о том.
#WGFVIU/K8E / @folex --> #WGFVIU/QVU / 3712 дней назад
@folex Да похуй, во что ты там его завернешь. Главное, что тестовая шняга будет иметь доступ к продакшен окружению. Ценность защищенности продакшена не в том, что там какие-то особые железки стоят, а в том, что там крутятся реальные данные, ценные для бизнеса. Если у тебя приложение работает в конетейнере, то давать из CI доступ в контейнер нельзя.
#WGFVIU/SJD / @etw --> #WGFVIU/K8E / 3712 дней назад
@etw "К магии в рантайме ты относишься нормально" - чё за аргумент вообще. может, ещё и до "отгоняешь удачу пессимизмом" доберёмся тогда уж? если поделие (jit или нативное) и ему похуй, кто как к нему относится. риск багов, как мы выяснили, выше в jit, т.к. там дополнительное звено. в лучшем случае он так же стабилен, как нативное. "вполне в твоих силах" - чё. т.е. важность чего-либо основывается на том, в твоих ли это силах? тогда можно нахуярить нетестирумебельное говно и его можно не тестировать!
#WGFVIU/VKV / @n --> #WGFVIU/OJW / 3712 дней назад
Почему ITT никто не написал про Datomic?
#WGFVIU/S9M / @anonymous / 3712 дней назад
@n Может и можно, не поручусь. Но дополнительный уровень абстракции все-таки дает очков надежности по очевидным причинам. Разговор все равно начался с того, что бы ты уебывал нахуй со своей сишечкой, потому что память всякая это не то, о чем программисты должны волноваться.
#WGFVIU/V1C / @folex --> #WGFVIU/XCX / 3712 дней назад
@etw "прямого доступа к продакшену из CI" - зачем прямой доступ? скрипт всё сделает. и что не так в наличии компиляторов на сервере? вон, для обычно pearа или ноды нужны. или гит собрать из cvsа (было актуально в ранние годы гитхаба). да мало ли что.
#WGFVIU/MKA / @n --> #WGFVIU/QVU / 3712 дней назад
@etw про бэкапы загугли
#WGFVIU/4GE / @n --> #WGFVIU/SJD / 3712 дней назад
@folex ты не можешь в теорию вероятностей, да? объясняю на пальцах: возьмём вероятность бага в компиляторе за X, а вероятность бага в jitе за Y. чему будет равна вероятность бага в jitе, который использует компилятор?
#WGFVIU/5ER / @n --> #WGFVIU/V1C / 3712 дней назад
@n Использование бэкапа — таки крайняя мера. Но отдельный контейнер для тестирования, который не дает доступа к критикал данным все равно решает проблему, о которой @etw волнуется так.
#WGFVIU/4FK / @folex --> #WGFVIU/4GE / 3712 дней назад
@n То есть ты не понимаешь, каким образом абстракции упрощают разработку?
#WGFVIU/RT2 / @folex --> #WGFVIU/5ER / 3712 дней назад
@n >"прямого доступа к продакшену из CI" - зачем прямой доступ? А как ты собираешь выкатывать новую версию продакшен-сервиса без доступа к продакшену? >скрипт всё сделает. Даааа... надо будет еще и говноскриптов настрогать, чтобы в результате получить велосипедную систему деплоя и потом ебаться с ней. >что не так в наличии компиляторов на сервере? злоумышленнику проще собирать зловредов на месте >вон, для обычно pearа или ноды нужны. или гит собрать из cvsа (было актуально в ранние годы гитхаба). да мало ли что. здоровые люди собирают пакеты в билд-системе и потом ставят из репозиториев.
#WGFVIU/EM8 / @etw --> #WGFVIU/MKA / 3712 дней назад
@folex "Использование бэкапа — таки крайняя мера" - ржу стоя. действительно, нахуя покупать целый рейд за сотню баксов, когда можно просто анально огородить сервер, обставить его иконами, всё запретить, молиться и надеяться на удачу?
#WGFVIU/MVP / @n --> #WGFVIU/4FK / 3712 дней назад
@n > про бэкапы загугли Бэкапы, конечно, охуенно защищают от кражи пользовательских данных.
#WGFVIU/CKG / @etw --> #WGFVIU/4GE / 3712 дней назад
@etw если злоумышленник уже "на месте" - поздняк метаться
#WGFVIU/FRF / @n --> #WGFVIU/EM8 / 3712 дней назад
@etw ну ставь. по ферме на каждую имеющуюся в наличии архитектуру и всё.
#WGFVIU/SSF / @n --> #WGFVIU/EM8 / 3712 дней назад
@folex тогда и интернет нельзя использовать. ведь это глобальный продакшн, в котором твои данные. вдруг их взломают? надо выключить сервер, закрыть в сейф и закопать на дно марианской впадины
#WGFVIU/VLU / @n --> #WGFVIU/4FK / 3712 дней назад
Бля, совсем хуй знает куда скатился разговор. Сишечка подсказывает писать говнокод, джава подсказывает тебе писать говнокод, пусть и не такой страшный поначалу. Императивные языки вообще в основном хуйню писать заставляют. Писать лучше на языках, форсящих referential transparency. Я именно с этой мыслью слал @n к хуям отсюда.
#WGFVIU/BHB / @folex / 3712 дней назад
@n Я про взлом вообще ничего не говорил, и хуй знает, как об этом речь вообще зашла.
#WGFVIU/RT6 / @folex --> #WGFVIU/VLU / 3712 дней назад
@n Да сегодня вечер охуительных историй какой-то. Открою тебе секрет, злоумышленник не получает сразу широченные полномочия в системе. Он вполне может в данный момент сидеть через-какой-нибудь php shell, не пропускающий 2/3 символов ascii таблицы, через который просунуть эксплоит та еще проблема, и отсутствие компилятора делает атаку дороже. Суть мероприятий безопасности не в подходе "все или ничего", а в том, чтобы сделать стоимость атаки для нападающего выше, потмоу что абсолютной защиты все равно не бывает. Потому метаться не поздняк никогда.
#WGFVIU/FI6 / @etw --> #WGFVIU/FRF / 3712 дней назад
@n зачем по отдельной ферме на микроархитектуру, если это разруливается сборкой пакетов с разными флагами march? И в любом случае все равно остается проблема управления и деплоя всего этого хозяйства, которая ляжет на плечи админов.
#WGFVIU/P8N / @etw --> #WGFVIU/SSF / 3712 дней назад
@etw загугли про шифрование и нормальные субды
#WGFVIU/SBS / @n --> #WGFVIU/CKG / 3712 дней назад
@folex ну, кто-то там о важных данных ссался . или подразумевалось, что они на сервере в публичном доступе лежат? бля, загуглите про acl в линукс уже :( любители chmod 777
#WGFVIU/S7P / @n --> #WGFVIU/RT6 / 3712 дней назад
@etw дай мне php shell и я покажу тебе полномочия
#WGFVIU/L1G / @n --> #WGFVIU/FI6 / 3712 дней назад
@n Как шифрование спасет тебя при компрометации инстанса бекенда в продакшене, который обладает доступом к базе? Нельзя смешивать тестовые окружения, к которым есть доступ у каждой собаки, с продакшеном, за который отвечает ограниченное число людей.
#WGFVIU/3JS / @etw --> #WGFVIU/SBS / 3712 дней назад
@n Блядь, речь была про то, что си — говно как язык программирования именно потому что на нем ОЧЕНЬ сложно хорошо программировать, в основном получается ебанина. А вы тут про какую-то хуйню говорить начали. Девопсы блядь
#WGFVIU/TJ1 / @folex --> #WGFVIU/S7P / 3712 дней назад
@n Ты сегодня у мамы хакер?
#WGFVIU/ZYG / @etw --> #WGFVIU/L1G / 3712 дней назад
@etw "php shell, не пропускающий 2/3 символов ascii таблицы" - и конечно это не мешает пользоваться компилятором?
#WGFVIU/JGO / @n --> #WGFVIU/FI6 / 3712 дней назад
@etw ну, аргумент "не сразу широченных полномочий" опровергнуть смогу
#WGFVIU/BH7 / @n --> #WGFVIU/ZYG / 3712 дней назад
@n Мешает, конечно, если компилятора на сервере нет. А бинарь через такую кривую дырку еще как-то просунуть надо.
#WGFVIU/6NG / @etw --> #WGFVIU/JGO / 3712 дней назад
@etw бля, ну кросскомпильнёт он под эту архитектуру у себя и всё. не ставить компилятор чтобы им не компилировали - это как вытащить себе зубы чтоб не выбили
#WGFVIU/JY6 / @n --> #WGFVIU/FI6 / 3712 дней назад
@n Мне лень сейчас покупать и поднимать впску специально для хуй знает кого в интернете.
#WGFVIU/LQZ / @etw --> #WGFVIU/BH7 / 3712 дней назад
@etw сначала отвергаешь мой аргумент, типа "не нужен", а потом перечисляешь проблемы, которых не было в моём варианте
#WGFVIU/E4R / @n --> #WGFVIU/P8N / 3712 дней назад
@n И потом просунуть этот бинарь через аргументы GET-запроса, пропускающие только буквы в большом регистре?
#WGFVIU/0AT / @etw --> #WGFVIU/JY6 / 3712 дней назад
@etw а как это спасёт нетестовую версию? // на одном сервере можно запустить несколько баз данных, например отдельную для тестовых данных
#WGFVIU/TY9 / @n --> #WGFVIU/3JS / 3712 дней назад
@n ты предлагал навелосипедить свою систему деплоя наскрептах, что еще пиздецовее, чем заморачиваться с установкой пакетов под разные микроархитектуры из репозиториев. Причем и то и другое - совершенно ненужная работа на фоне потенциальног опрофита.
#WGFVIU/0S6 / @etw --> #WGFVIU/E4R / 3712 дней назад
@folex "си — говно как язык программирования именно потому что на нем ОЧЕНЬ сложно хорошо программировать" - да ты лошара просто. нормально всё программируется. школьники начальных классов тоже считают математику говном потому что неосиливают. типичный случай, чсв переводит стрелки с собственной убожести на окружающий мир
#WGFVIU/0KV / @n --> #WGFVIU/TJ1 / 3712 дней назад
@etw ну дай шелл, научу просовывать
#WGFVIU/90K / @n --> #WGFVIU/6NG / 3712 дней назад
@n Так, что инфраструктура тестирования (CI) не будет иметь прямой доступ на продакшен, да еще и с возможностью выполнять произвольные команды. И, разумеется, тестовая БД должна крутиться на отдельном сервере.
#WGFVIU/K6H / @etw --> #WGFVIU/TY9 / 3712 дней назад
@n Просовывай за свой счет. Ты же хакир, а хакиры сами шеллы заливают.
#WGFVIU/5IB / @etw --> #WGFVIU/90K / 3712 дней назад
@etw разберутся как просунуть, не ссы
#WGFVIU/75W / @n --> #WGFVIU/0AT / 3712 дней назад
@n Понятно, что в конце концов разобрать можно, сильно извернувшись, но к тому времени админ уже может прочитать логи и закрыть дырку, и при этом не факт, что киддис будет достаточно терпеливым, чтобы дойти до конца вообще.
#WGFVIU/SRX / @etw --> #WGFVIU/75W / 3712 дней назад
@etw несколько баз ещё не научились настраивать? и, например, в приложении не В КОД ЗАБИВАТЬ ПАРАМЕТРЫ БАЗЫ, а конфиг-опцию сделать
#WGFVIU/EG2 / @n --> #WGFVIU/K6H / 3712 дней назад
@etw я не давал аргумент что всё взломают просто так. а ты давала, что с php shellом не взломают. // кстати, как ты в php запустишь компилятор без system() ? а если есть system(), есть тысячи способов положить на сервер любой файл
#WGFVIU/BSY / @n --> #WGFVIU/5IB / 3712 дней назад
@etw а заскриприть процесс, конечно, ни один хакер не догадается? и вообще не имеет под рукой удобных скриптов?
#WGFVIU/GCO / @n --> #WGFVIU/SRX / 3712 дней назад
@etw ВРУЧНУЮ СИДИТ ЕСКЕЙПИТ БИНАРНИК
#WGFVIU/40F / @n --> #WGFVIU/SRX / 3712 дней назад
@n Во-первых, если тестовая и продакшен база будут на одном сервере, то получается, что тестовая сеть будет иметь потенциальный сетевой доступ к продакшен базе, что понижает защищенность (злоумышленник может применить эксплоит к тестовой СУБД, поднять затем привиллегии и спокойно стянуть все с продакшена). Именно потому я и говорила, что тествая и продакшен инфраструктура должны быть разделены. Во-вторых, на тестовую базу может приходить большая синтетическая нагрузка в ходе нагрузочного тестирования, которая может повлиять на качество работы сервиса в продакшене.
#WGFVIU/BMI / @etw --> #WGFVIU/EG2 / 3712 дней назад
мне не важно, кто победит, моча или говно. Я отписываюсь.
#WGFVIU/5BK / @gds / 3712 дней назад
@n Я не говорила, что с php-шеллом вообще никогда не взломают, если не будет компилятора на машине. Я говорила о том, что это позволить затруднить условия работы взломщика, причем подчас достаточно для того, чтобы атакующий либо переключился на другую цель, либо чтобы у админа появилось время среагировать на попытку проникновения.
#WGFVIU/D9W / @etw --> #WGFVIU/BSY / 3712 дней назад
@n Ну заэскейпь мне бинарник одними заглавными символами из ASCII таблицы.
#WGFVIU/KVS / @etw --> #WGFVIU/40F / 3712 дней назад
@n Какой еще нахуй процесс, если в вводной он сумет только залить php-шелл в хомяк веб-сервера и обращается к нему по HTTP?
#WGFVIU/AVF / @etw --> #WGFVIU/GCO / 3712 дней назад
@etw если ты в интернете - у каждого есть ПОТЕНЦИАЛЬНЫЙ СЕТЕВОЙ ДОСТУП к твоему анусу ("злоумышленник может применить эксплоит к ...(нужное вписать)"). нет абсолютной защиты нигде. но при использовании софта, проверенного временем шанс этого минимален
#WGFVIU/JV7 / @n --> #WGFVIU/BMI / 3712 дней назад
@etw можешь ещё раз подробно описать, чего именно не даёт сделать отсутствие компилятора?
#WGFVIU/OZX / @n --> #WGFVIU/D9W / 3712 дней назад
@n Ну давай, скажи мне, как я смогу поиметь сетевой доступ (хотя бы попинговать) к какому-нибудь серверу во внутренней сети гугла?
#WGFVIU/NUU / @etw --> #WGFVIU/JV7 / 3712 дней назад
@etw процесс кодирования нужного содержимого в нужный вид перед отправкой на шелл
#WGFVIU/VTG / @n --> #WGFVIU/AVF / 3712 дней назад
@n Скомпилировать на месте сплоет, залитый в виде исходников через какую-нибудь порезанную дырку, вроде php shell, принимающего команды через GET-запросы с каким-нибудь хитрым фильтром по допустимым символам со стороны интерпретатора.
#WGFVIU/VZH / @etw --> #WGFVIU/OZX / 3712 дней назад
@etw ну как, применяешь эксплоит на ядро гейта и вставляешь своё правило маршрутизации на внутренний сервер
#WGFVIU/D52 / @n --> #WGFVIU/NUU / 3712 дней назад
@n А с чего ты взял, что именно так?
#WGFVIU/YPO / @etw --> #WGFVIU/D52 / 3712 дней назад
@etw а что ему мешает сконвертировать скомпилённый бинарник в нужный вид (в разрешённые символы), залить и потом там уже раскодировать в оригинальный вид?
#WGFVIU/JU3 / @n --> #WGFVIU/VZH / 3712 дней назад
@etw ну ведь эксплоиты могут всё. если есть проблема в жизни, зарплату не платят, дети орут - примени эксплоит! не давай счастью пройти мимо тебя!
#WGFVIU/AJ4 / @n --> #WGFVIU/YPO / 3712 дней назад
@n Вот ты залил свой кастрированный шелл и пытаешь телепать разные команды, чтобы залить уже сплоит. При этом вся твоя деятельность пока что остается в логах. Чем долше ты застряшень на этом этапе, тем больше шансов, что админ тебя заметит.
#WGFVIU/8QW / @etw --> #WGFVIU/VTG / 3712 дней назад
@etw разница во времени будет лишь из-за большего размера закачиваемого эксплойта (например 4Kb вместо 300b). при нынешних скоростях это ничто.
#WGFVIU/VEV / @n --> #WGFVIU/8QW / 3712 дней назад
@n Конвертор еще написать надо, а перед этим еще и выяснить, почему шелл порезаный и какие символы он вообще пропускает, а это все время, которое работает не на атакующего.
#WGFVIU/UGF / @etw --> #WGFVIU/JU3 / 3712 дней назад
5 минут пишется. а выяснить придётся в любом случае, даже при закачивании исходника
#WGFVIU/CSW / @n / 3712 дней назад
@n Хакеры сразу знающие, что надо сделать, и делающие это, упираясь в производительность сети, встречаются только в голливудских фильмах.
#WGFVIU/7EP / @etw --> #WGFVIU/VEV / 3712 дней назад
@etw блять, защита от сплойтов - ПАТЧИ СОФТА И ЯДРА, а не отбирание возможности его скомпилировать :(
#WGFVIU/2X0 / @n --> #WGFVIU/UGF / 3712 дней назад
@etw если есть дыра - её и тупо из шелла заюзают и всё
#WGFVIU/4I3 / @n --> #WGFVIU/UGF / 3712 дней назад
@etw даже без system()
#WGFVIU/VAN / @n --> #WGFVIU/UGF / 3712 дней назад
@etw я знаю как минимум троих
#WGFVIU/JP7 / @n --> #WGFVIU/7EP / 3712 дней назад
@n Кем-то 5 минут, а кто-то бежить на forum.l33tkiddiez.cc просить помощи у старших братьев :)
#WGFVIU/3MC / @etw --> #WGFVIU/CSW / 3712 дней назад
@etw а там им его и скинут
#WGFVIU/QSK / @n --> #WGFVIU/3MC / 3712 дней назад
@etw нет такого форума :((
#WGFVIU/VUZ / @folex --> #WGFVIU/3MC / 3712 дней назад
@n ага, прям сразу же. да еще и обязательно рабочий и без патча бармина. и все в реальном времени.
#WGFVIU/VP3 / @etw --> #WGFVIU/QSK / 3712 дней назад
@etw ну или не скинут. один хуй непропатченный софт на сервере при наличии публичных эксплойтов - проблема ЛЮТЕЙШЕ БОЛЕЕ СЕРЬЁЗНАЯ чем установка компилятора. это нужно просто полным долбоёбом быть, а не админом. в анус таких админов, блять
#WGFVIU/TKQ / @n --> #WGFVIU/VP3 / 3712 дней назад
@n И сразу знают какой приватный сплоет заливать, какие настройки у интерпретатора, включен ли какой-нибудь обоссаный selinux, версии демонов, ядра, все-все-все и применительно к любым системам независимо от их конфигурации?
#WGFVIU/TG9 / @etw --> #WGFVIU/JP7 / 3712 дней назад
@etw читаешь комментарий в сплойте, реализуешь на php прямо из шелла. ничего заливать не нужно
#WGFVIU/0AY / @n --> #WGFVIU/TG9 / 3712 дней назад
@n У киддиса может быть приватный сплоет, мало ли. Разумеется, патчи накатываются.
#WGFVIU/V4O / @etw --> #WGFVIU/TKQ / 3712 дней назад
@etw под твоей кроватью может прятаться кровавый минотавр-анальнокол, мало ли
#WGFVIU/SI1 / @n --> #WGFVIU/V4O / 3712 дней назад
@n > читаешь комментарий в сплойте В каком из сплоетов читать комментарий? > реализуешь на php прямо из шелла. ничего заливать не нужно нуну, реализуешь сплоит на пхп, который, например, для эксплуатации уязвимости хитро дергает несколько раз ptrace с разными параметрами.
#WGFVIU/X7T / @etw --> #WGFVIU/0AY / 3712 дней назад
@n Я тебе уже говорила тут про суть ИБ, не? Не бывает абсолютных защит, единственный реальный вариант - это удорожание атаки за счет комбинирования многих мер.
#WGFVIU/A7C / @etw --> #WGFVIU/SI1 / 3712 дней назад
@etw в данном случае удорожения из-за отсутствия компилятора абсолютно несопоставимо с удорожанием из-за этого деплоя, или хотя бы банальной компиляции редкого php-модуля или конкретной версии софта
#WGFVIU/J7M / @n --> #WGFVIU/A7C / 3712 дней назад
@n ну ладно, а что злоумышленник сделает при chmod 700 /usr/bin/{,g}cc ?
#WGFVIU/KZN / @n --> #WGFVIU/J7M / 3712 дней назад
@n Из моего опыта так уж получается, что система деплоя, которой требуется компилятор на месте, обычно выходит дороже в экспуатации, что нормальные пакеты.
#WGFVIU/MYN / @etw --> #WGFVIU/J7M / 3712 дней назад
@etw да, потому что компилятора нет. заебёшься компилировать без компилятора
#WGFVIU/8Y9 / @n --> #WGFVIU/MYN / 3712 дней назад
@n Это вообще, заебись, если гцц придется запускать из-под рута. В гайдлайнах любого дистрибутива, к слову, говорится, что сборку рекомендуется производить из-под непривиллегированного пользователя.
#WGFVIU/62I / @etw --> #WGFVIU/KZN / 3712 дней назад
@n Для сборки софта есть билд-ферма, где стоит компилятор. А на продакшен-серверах они не нужен.
#WGFVIU/C0W / @etw --> #WGFVIU/8Y9 / 3712 дней назад
@etw chgrp ci /usr/bin/{,g}cc && chmod 710 /usr/bin/{,g}cc // линукс для чайников, первая страница
#WGFVIU/NJD / @n --> #WGFVIU/62I / 3712 дней назад
@etw "компилятор не нужен т.к. системы деплоя использующие компилятор выходят дороже" "системы деплоя использующие компилятор выходят дороже т.к. компилятора нет" - разрули уже этот круг как-то
#WGFVIU/3HO / @n --> #WGFVIU/C0W / 3712 дней назад
@n Один лишь x-бит не позволит тебе запустить бинарь :3
#WGFVIU/NS5 / @etw --> #WGFVIU/NJD / 3712 дней назад
@etw один лишь w-бит не позволит тебе снести /
#WGFVIU/F5T / @n --> #WGFVIU/NS5 / 3712 дней назад
@n >"системы деплоя использующие компилятор выходят дороже т.к. компилятора нет" такого я не говорила
#WGFVIU/PPA / @etw --> #WGFVIU/3HO / 3712 дней назад
@etw но основываешься на этом
#WGFVIU/891 / @n --> #WGFVIU/PPA / 3712 дней назад
@n С чего ты взял? Если ты хочешь подискутировать приписывая опооненту придуманные тобой же аргументы, то лучше делать это перед зеркалом. Дороже такая система выходит потому, что велосипедная и, к тому же, требует в процессе реализации решить много задач по изоляции продакшена от сборки. Правильно эта задача решается выделение отдельно билд-фермы, с продакшеном напрямую не связанной.
#WGFVIU/RU5 / @etw --> #WGFVIU/891 / 3712 дней назад
@etw почему велосипедная? а выделение отдельно билд-фермы - это не задача (и не дополнительное железо, кстати)? и что там решать? чрут и ядро с grsec-патчем, хоть засобирайся там
#WGFVIU/ONM / @n --> #WGFVIU/RU5 / 3712 дней назад
@n бинарная логика
#WGFVIU/85F / @mugiseyebrows --> #WGFVIU/2O8 / 3712 дней назад
@mugiseyebrows ты хочешь об этом поговорить?
#WGFVIU/UTC / @n --> #WGFVIU/85F / 3712 дней назад
@n > почему велосипедная? Потому что своя наколеночная система деплоя - это велосипед. > а выделение отдельно билд-фермы Я исхожу из того, что CI уже есть в компании. > чрут и ядро с grsec-патчем, хоть засобирайся там Чрута может быть недостаточно. Для этого лучше lxc или полноценные виртуалки.
#WGFVIU/YD8 / @etw --> #WGFVIU/ONM / 3712 дней назад
@etw чрута с grsec всегда достаточно, в чруте даже рута можно держать и он никуда не выберется. а вообще пост сводится "изменения не нужны, будем плыть по течению и вы плывите со мной"
#WGFVIU/Z59 / @n --> #WGFVIU/YD8 / 3712 дней назад
@n > чрута с grsec всегда достаточно, в чруте даже рута можно держать и он никуда не выберется. Дело не только в том, что выберется, а в том, что сборочное окружение должно быть как можно более чистым, чтобы сборка меньше имела какие-то неявные зависимости от состояния сборчого окружения и лучше воспроизводилась. > а вообще пост сводится "изменения не нужны, будем плыть по течению и вы плывите со мной" Какой пост? Про субд?
#WGFVIU/6YB / @etw --> #WGFVIU/Z59 / 3712 дней назад
@etw очевидно, что сборка должна быть на той же микроархитектуре на которой будет продакшн. "Какой пост?" - YD8
#WGFVIU/W8E / @n --> #WGFVIU/6YB / 3712 дней назад
@n > сборка должна быть на той же микроархитектуре на которой будет продакшн ЩИТО? > "Какой пост?" - YD8 Что по-твоему является плаванием по течению? использование распространенных в отрасли систем деплоя с отлаженными и известными workflow вместо наколеночным велосипедов? Или наличие полноценного CI в компании вместо какой-то распределенной по продакшену хуйни, гоняющей тесты по нестабильному коду там же, где обрабатываются запросы реальных пользователей?
#WGFVIU/R13 / @etw --> #WGFVIU/W8E / 3712 дней назад
@etw не понятен критерий выявления наколеночности. вот, например, написать бутскрипт для какого-то демона - это наколеночно? или написать баш скрипт который парсит порносайт и выбирает оптимальные видео. чтобы не быть наколеночным - нужно вообще ничего не создавать и не изобретать? // объясняю суть неправоты - "велосипед" - когда изобретаешь то что уже изобретено. утверждение "приходится изобретать велосипед" подразумевает, что готового решения нет. тогда где здесь велосипед?
#WGFVIU/3XV / @n --> #WGFVIU/R13 / 3712 дней назад
@n сейчас будет высер типа "готовое решение - делать не так, а по другому". ну так это уже для другой задачи решение.
#WGFVIU/JIZ / @n --> #WGFVIU/3XV / 3712 дней назад
@n > объясняю суть неправоты - "велосипед" - когда изобретаешь то что уже изобретено. Систем деплоя уже настрогано дохуя и больше с поддержкой воркфлоу на любой вкус и цвет, причем значительно более удобных в эксплуатации, чем предложенный тобой. Я еще могу понят сборку у какого-нибудь рубиговна сишных модулей непосредственно на серверах, т.к. у них там своя пакетная система и атмофсера вообще и засунуть ее в нормальные пакеты - тот еще геморрой, потому есть смысл пользоваться тем, что уже написано, пусть и кривоватым. но нахрена писать свой кривой велосипед для сишного софта, когда есть более нормальные распространенные варианты - не понимаю. ради самого факта сборки софта на самих серверах, где он будет крутиться? нет ни единой причины, по которой это бы имело хоть какой-то смысл.
#WGFVIU/SIP / @etw --> #WGFVIU/3XV / 3712 дней назад
@etw "свой кривой велосипед для сишного софта, когда есть более нормальные распространенные варианты" - распространённые варианты для сишного софта?
#WGFVIU/OXF / @n --> #WGFVIU/SIP / 3712 дней назад
@folex да я то верю что есть. там просто хуиту вещают - "для компиляции в CI нужен велосипед, т.к. есть нормальные решения БЕЗ КОМПИЛЯЦИИ" (т.е. под видом нахождения альтернативного решения переопределяется сама задача)
#WGFVIU/8YF / @n --> #WGFVIU/1QH / 3712 дней назад
@n apt+dpkg
#WGFVIU/O2E / @etw --> #WGFVIU/OXF / 3712 дней назад
@folex Это не система деплоя, а система сборки.
#WGFVIU/FUS / @etw --> #WGFVIU/1QH / 3712 дней назад
@etw CI — одна из составляющих процесса деплоя, обычно от неё отталкиваются.
#WGFVIU/CIR / @folex --> #WGFVIU/FUS / 3712 дней назад
@folex По мне, так сборка в CI с деплоем связана слабо. CI может собирать артефакты, которые потом кладутся в хранилище и из которого они изврекаются для деплоя, но это необязательно. Например, публичный Travis-CI таким не страдает и только гоняет тесты. так и деплоиться могут пакеты, сборанные вне CI. В общем, сборка софта в CI и процедура деплоя - это совсем разные вещи, имхо.
#WGFVIU/ZKW / @etw --> #WGFVIU/CIR / 3712 дней назад
@etw это уже другая задача - "установить бинарный пакет". решение не является велосипедом лишь потому, что есть решения для похожих задач
#WGFVIU/779 / @n --> #WGFVIU/O2E / 3712 дней назад
@n > это уже другая задача - "установить бинарный пакет" Эээ... а разве установка бинарного пакета - это не развертывание софта?
#WGFVIU/41B / @etw --> #WGFVIU/779 / 3712 дней назад
задача стояла - компилировать софт при CI
#WGFVIU/U0B / @n / 3712 дней назад
@n Эээ... а в чем тут проблема? Ну, кроме того, что ты хочешь build-agent-ами зачем-то сделать продакшен серверы.
#WGFVIU/XGN / @etw --> #WGFVIU/U0B / 3712 дней назад
@etw проблема в том, что ты называешь велосипедом попытки настроить CI для компиляции, лишь на основании того, что есть решения БЕЗ компиляции (т.е. другая задача)
#WGFVIU/WVV / @n --> #WGFVIU/XGN / 3712 дней назад
#WGFVIU/8XF / @nedel --> #WGFVIU/7FQ / 3712 дней назад
Блядь, откуда здесь 323 комментария?
#WGFVIU/2HX / @komar / 3681 день назад
@komar В душе не ебу.
#WGFVIU/KUF / @anonymous --> #WGFVIU/2HX / 3681 день назад
чотам
#WGFVIU/0HO / @mugiseyebrows / 3681 день назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

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