×Закрыть
провідний дивергент в Дарницькі печери
  • Стану коучем по Golang

  • Недружелюбность C++ к новичкам: взгляд Unity-разработчика

    Только вот нормально на stdcpp.ru не зайти, надо через tor, прокси и т.п.

  • Java дайджест #47: вышла Java 14, как сделать работающий продукт

    А яка різниця jni в середині ліби чи в середині JVM?

    Той, що в JVM, звичайно правильно злагоджений з JVM. Зовнішній JNI тягне за собою серіалізацію виклику, блокування GC і так далі. Чи це вже виправили?

    А що там всередині для кінцевого юзера в 99% випадків не важливо.

    У моєму випадку важливо.

  • Java дайджест #47: вышла Java 14, как сделать работающий продукт

    Це є в лібах спеціліазованих.

    Вони працюють без JNI? Якщо ні — не дуже цікаво.

  • Java дайджест #47: вышла Java 14, как сделать работающий продукт

    JEP 380: Unix-Domain Socket Channels.

    Посмотрел, не нашёл вкуснятины, которой пользуюсь постоянно с Python и C: делаю AF_UNIX+SOCK_SEQPACKET socketpair, раскидываю концы в родителя и потомка. Получается свободный асинхронный обмен любыми сообщениями при том, что ядро реализует границы сообщений.

    То, что какой-то прогресс в сторону unix domain sockets — хорошо, но как-то уж очень медленно.

    Хотя мы же все равно выставим HTTP-интерфейс?

    Поверх этих сокетов? Вполне возможно :) хотя нафига HTTP только как обёртка к JSON или аналогу — мне непонятно.

    Поддержал: Bogdan Shyiak
  • «Відчуття, ніби хтось влазить у твій особистий простір». Що ІТ-спеціалісти думають про трекери для контролю робочого часу

    Не повірите, але ініціатива пішла саме від розробників.

    Десь я вже чув про «по многочисленным пожеланиям трудящихся».

  • GitHub is now free for teams

    Честно удивлён. Ну снизить цены и пределы бесплатного хоть в 10 раз, ok. Но совсем до нуля — это уже что-то сомнительное.
    Они на рекламе собираются зарабатывать?
    Или расчёт на покупку расширенных возможностей?

    Поддержал: Oleksandr Suvorov
  • Встань с дивана и играй: как мы придумали спасение для «удаленных»

    Так этот пост же не посвящен лого или чему-то еще кроме проекта.

    Если лого — не часть проекта, то к чему оно вообще относится?
    Если лого — часть проекта, то принимайте критику.

    Поддержал: Denys Poltorak
  • Збільшення ціни на оренду квартири під час пандемії

    У нотариуса заверяется в случае срока год и больше. Договор на более короткий срок не требуют такого — более того, даже в устной форме допустим (но тут уже вопрос, кто и как будет доказывать, кто что сказал).

    Поддержал: Oleksii Ulanovych
  • А требуется ли в современном мире опыт libevent/libuv/... ?

    Ну вообще-то удобнее FSM писать на некотором входном языке, парсер которого ещё проверит корректность по нужным тебе критериям, а дальше сам нарисует все нужные if’ы и т.п.

    (Рядом я упомянул всякие lex/yacc, где тоже генерация это норма, но это немного другой контекст.)

  • А требуется ли в современном мире опыт libevent/libuv/... ?

    Ну подебажь выхлоп yacc (bison, byacc — неважно).
    Там будет штатный движок, постоянный на все случаи, таблица твоих дефайнов и несколько массивов из чисел — таблицы переходов и т.п.
    Успехов в чтении стека состояний, когда даже непонятно, какое число за что отвечает, и это может меняться при каждой перегенерации в ответ на малейшие изменения кода :)

    Такое можно отлаживать только визуальным анализом самой грамматики на типовые грабли, которые знает тот, кто в этой области съел хотя бы пол-собаки, и тестами.

    Поддержал: Viktor Chyzhdzenka
  • Цены на нефть упали. Ваши прогнозы, коллеги?

    Заметьте: никто почему-то не делает еще одну Википедию.

    Да до чёрта их. Одна Торадиция чего стоит.

  • NoSQL vs SQL, и при чем тут теорема CAP

    ACM открыл доступ.
    Предлагаю вернуться к теме на основании текста доказательства.
    У меня работа, но попытаюсь таки выкроить время.

  • А требуется ли в современном мире опыт libevent/libuv/... ?

    Так у nginx внутри уже готовый свой аналог. Естественно, что его писать уже не надо :)

    Поддержал: Denys Poltorak
  • А требуется ли в современном мире опыт libevent/libuv/... ?

    Обьясню по другому: типичная нормальная реализация акторов не может быть состыкована с libevent без прослойки. При этом никакой обьективной необходимости для проэктирования libevent именно таким способом — не существовало.

    Здесь бы пример хотя бы на десяток строк, но реально та прослойка... ну даст ещё сотню-другую строк, по сравнению со всей ценой толковой библиотеки акторов это не сильно много.
    А в остальном про стиль libevent я уже высказался.

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

    Да, вполне возможно.

    У меня не веб, у меня SIP и прочие аналогичные ужасы :) там другая специфика, в основном на то, как попытаться чудовищный бред в правилах организации взаимодействий выгнуть до чего-то такого, что можно таки закодировать.

    Поддержал: Denys Poltorak
  • А требуется ли в современном мире опыт libevent/libuv/... ?

    Акторы.
    Акторы это другое. На них свой спрос и свои 100500 реализаций.
    Но работать акторы всё равно будут поверх подложки стиля всё тех же ASIO/libevent/etc. — это просто разные уровни. «Непрактичного» в подложке нет, просто поверх неё надо что-то другое строить, когда и где надо.

    Реально у меня в текущем проекте что-то издалека похожее наколенное. Но вот осталось злобное легаси нескольких видов — часть взаимодействий идёт асинхронно, а часть — синхронно. Вместе получается достаточно парадоксальный эффект. Может, осилим в этом году разобраться...

    А ты видел SObjectizer? Да, C++.

  • А требуется ли в современном мире опыт libevent/libuv/... ?

    Тут надо бы таки больше подробностей. Про теорию, матаппарат — в пределах возможностей этих библиотек я не вижу его выше школьной арифметики. И в каких библиотеках/фреймворках, по-твоему, оно лучше?

    Поддержал: Denys Poltorak
  • А требуется ли в современном мире опыт libevent/libuv/... ?

    Этого не понял, можно расшифровать?

  • А требуется ли в современном мире опыт libevent/libuv/... ?

    Boost.asio это просто узко-специализированный слой абстракции. Ни больше ни меньше.

    Какой абстракции?

    Вот я на нём написал: создать контекст, создать сокет, включить его в контекст, включить слушание входящих соединений. На каждое соединение читаю строку, отдаю строку обратно, закрываю соединение. Это через объекты типа «контекст» (io_service), «сокет», функциями типа «я отсюда читать буду, вызови мне коллбэк с результатом» и т.п.

    Какая разница между ним и другим аналогичным движком событий, который в себя собирает сокеты, таймеры и прочее?

    По-моему, вы его вообще не видели. Я всё-таки на нём писал (а также на libuv и на своём asyncore-style аналоге, а для libevent писал тестики и по их результатам расплевался, и на той же ISC eventlib — это было вкуснее всего).

    Но в той же же libevent один http-парсер чего стоит. А libuv это вообще половина Node.js-а.

    Эээ...

    Про libuv — вы, наверно, про что-то более обширное говорите (только непонятно, где оно). Вот я развернул libuv-libuv-v1.35.0_GH0.tar.gz — там только движок событий, «половины nodejs» как-то не видно. Заглянул на github.com/libuv — там тоже не видно ничего похожего на «половину nodejs» — которым в первую очередь должно было бы быть, например, V8, парсер JS и т.п.
    Вы точно не путаете?
    Ну да, там чуть больше — самостоятельные async-потоки и интерфейс вокруг FS. Хотя толку с него копейки (кроссплатформенность).

    libevent — да, если развернуть сорцы, http парсер там есть. Хотя в книге об этом не сказано (иначе должно было быть сказано на входной странице), и я склонен считать, что если оно недокументировано — то его нет. Но если его и считать — то это один не сильно крупный и полезный компонент. Даже на входной странице сказано про «fast and scalable replacement»... :))

    Суммируя — разница минимальна, всё это почти близнецы.

  • А требуется ли в современном мире опыт libevent/libuv/... ?

    Где и как? На linkedin, dou/djinni, stackowerflow я встречаю такого рода вакансии реже чем раз в году.

    Когда я включил в профиль на djinni просто event driven programming, мне поступило запросов пять сразу с упоминанием ASIO.

    ASIO это крохотный low-level модуль осваиваемый за вечер и его пишут явно. libevent это ни разу не крохотный и не low-level — и тишина?

    Дядьку, вы ничего не попутали? С каких пор это стало «крохотный low-level модуль» и почему это он у вас «крохотный», когда libevent «не крохотный»? Мы вообще про тот же libevent или другой? Если да — то они друг другу равны по уровню, а по возможностям — до пары процентов. А тем более если ещё libuv упоминать с тем же набором.

    Если судить по количеству обсуждений на тому же стэк-оверфлоу то ситуация прямо противоположная.

    Количество обсуждений на SO это популярность умноженная на диверсионность (которая вылезает в виде плотности WTF), а не просто популярность. В случае libevent... Провос хороший человек, но дизайнер библиотеки из него хреновый, мягко говоря. После ISC eventlib, от его libevent меня натурально тошнило. (libev, libuv хоть как-то это нормализовали... но для разработки под C++03 я вообще сделал самопал за два дня по мотивам Python asyncore и оно хорошо работало и было всяко удобнее этих кошмариков.) Так что для начала надо количество сообщений по libevent разделить на три и только после этого сравнивать..

    Поддержал: Denys Poltorak
← Сtrl 123456...275 Ctrl →