LINUX.ORG.RU

Сообщения vzzo

 

Google представил открытую библиотеку Abseil для разработчиков на C++

Новости — Google
Группа Google

В понедельник Google выпустил исходные коды библиотеки Abseil, созданной для того, чтобы значительно дополнить стандартную библиотеку языка C++. Данный код на протяжении многих лет использовался как базовая библиотека при разработке закрытого ПО, но был вынесен в отдельный открытый проект для упрощения открытия исходных кодов и разработки других библиотек, например, protobuf, grpc и tensorflow. Код распространяется под лицензией Apache 2.0.

Библиотека собирается с помощью bazel — системы сборки с открытым кодом, которая используется в Google. Данная система сборки позволяет точно контроллировать зависимости и получать воспроизводимые артефакты, но достаточно неудобна для повседневного использования. Но библиотека предполагает статическую линковку, так что её интеграция в любую систему сборки будет тривиальной.

Интересные части библиотеки:

  • absl::Mutex — примитив синхронизации, который одновременно может служить мьютексом, condition variable и read-write-блокировкой. Данный класс был разработан до появления C++11, но не был заменён std::mutex и его аналогами, так как предоставляет менее ошибкопорождающий интерфейс.
  • Бекпорты некоторых возможностей C++14/C++17 для компиляторов, поддерживающих только C++11: absl::make_unique, absl::optional, absl::any, absl::span, absl::string_view. При этом при сборке новым компилятором большинство absl:: типов будут обычным typedef для библиотечных.
  • «Стандартный» набор функций работы со строками: split, join, replace, объединение строк, перевод чисел в строки и обратно.
  • Функции и классы для работы с временем и промежутками времени (по сути дублирующие аналоги из std::chrono); 128-битный целочисленный тип данных; InlinedVector, позволяющий хранить маленькие массивы без выделения памяти; и прочее.

В данный момент список не очень большой, но библиотека постоянно будет дополняться.

>>> Подробности на opennet

 , , ,

vzzo
()

Symantec продаёт SSL-бизнес DigiCert

Новости — Безопасность
Группа Безопасность

В качестве ответа на санкции Google Symantec продаёт свой бизнес другому коммерческому поставщику сертификатов — DigiCert. В результате сделки Symantec получит 950 миллионов долларов и треть акций DigiCert.

Продажа полностью завершится к концу 2018 года. К этому времени процесс выпуска сертификатов перейдёт на инфраструктуру DigiCert. До этого выпускаемые сертификаты будут проверяться сотрудниками DigiCert, чего и требует Google.

По результатам сделки, DigiCert соберёт под собой 5 брендов и почти в 7 раз увеличит количество обслуживаемых сертификатов. 5 крупнейших CA будут контролировать 97,4 % рынка, а доля каждого из их конкурентов не будет превышать 0,6 %.

>>> Подробности

 , , ,

vzzo
()

Встраиваемый JS

Форум — Development

Добрый день!

Есть проект на плюсах, в котором иногда надо выполнять пользовательские скрипты. Я раньше пользовался только Lua, Python и QScript, но все три не подходят: Lua не понимается людьми, которые должны писать скрипты, Python плохо работает с потоками, Qt не используется в проекте.

Так как js среди скриптовых языков наиболее понятен обычным людям с опытом в вебе или на c++/java, я решил выбрать его.

Оказалось, что есть огромное количество js-движков (начиная от V8, который мне не подходит из-за однопоточности, заканчивая tiny-js для встраиваемых систем).

Производительность не очень важна (то есть всякие JIT-компиляторы не требуются), но нужно, чтобы движок мог работать в многопоточном приложении и не пользовался TLS.

Кто-нибудь встраивал js-интерпретатор в свои программы? Каким движком вы пользовались, с какими проблемами столкнулись?

 ,

vzzo
()

Посоветуйте kb+задачницу

Форум — Talks

Привет!

В маленьком проекте на три с половиной человека хочется сделать базу знаний (даже без wiki-форматирования) и систему задач или запросов, которая позволяет повесить кому-то на ответственность задачу и вести по ней переписку. То есть что-то вроде гитхаба/трака, но без привязки к коду и максимально лёгкое и простое.

Что можете посоветовать?

 ,

vzzo
()

Библиотека с сокетами

Форум — Development

Привет,

а какие есть в C++ хорошие высокоуровневые библиотеки для работы с неблокирующими сокетами, кроме asio?

Хочется иметь интерфейс как минимум, как у Qt: получать асинхронное уведомление о том, что из сокета можно прочитать, иметь возможность всегда мгновенно дописать произвольное количество в буфер записи, получить асинхронное уведомление о том, что запись завершилась, диагностировать отваливание второй стороны сокета.

Смотрел Poco и в нём Socket+React, но как-то совсем не дотягивает (в т.ч. потому что прибито гвоздями к select, и управлять буфером всё равно надо самому). Велосипедить на ev++ не хочется. На awesome-cpp в основном всякие http-серверы упоминаются.

 , ,

vzzo
()

ЯП для веб-морды

Форум — Development

Всем привет!

Хочу написать маленькую веб-морду. Она должна ходить в redis и распарсивать живущие там xml-ки. Пользователю показывается таблица с xml-ками, которые есть в redis-е, и для каждой xml-ки отдельная страница с парой кнопок.

JS и CSS я не умею.

Ruby не знаю, Java — слишком громоздко, с Python я не дружу, на плюсах писать влом, PHP — слишком меинстримно.

Есть ли какой-нибудь чудесный язык/фреймворк для таких, как я? Пока склоняюсь в сторону Perl.

 ,

vzzo
()

Динамический is_base_of

Форум — Development

Всем привет!

Во время велосипединия аналога boost::any, мне понадобилась следующая вещь:

struct A {}; struct B : A {};
TypeDescription *d = makeTypeDescription<A>();
cout << d->is_base_of<B>();
Не могу ничего придумать: type_info не предоставляет такой информации (хоть она у него и есть для dynamic_cast), виртуальную функцию шаблонной для передачи в неё типа не сделаешь.

Есть ли какие-нибудь другие варианты?

 , ,

vzzo
()

ssh-agent между пользователями

Форум — Admin

Привет!

Есть некоторый ssh-ключ и множество непривилегированных пользователей на машине. Хочется дать этим пользователям возможность ходить с машины на другие серверы по ключу, не давая им самим ключ.

Насколько я понимаю, мне нужен ssh-agent, но в стандартном варианте он стартует от пользователя и тотально ограничивает права. Если поставить 666 на его сокет и сделать под вторым пользователем все необходимые export, то ключ всё равно не используется, даже не показывается как попытка при ssh -v

Костыльним вариантом мне видится делать локальный ssh ко всем пользователям и использовать agent forwarding. А есть ли нормальный?

vzzo
()

Много сетевых карточек

Форум — Admin

Привет!

Есть следующие настройки машрутеризации:

[root@h1 ~]# ip ru l
0:      from all lookup 255 
32761:  from all iif eth1 lookup 1 
32762:  from 1.1.1.0/24 lookup 1 
32766:  from all lookup main 
32767:  from all lookup default 

[root@h1 ~]# ip r l t 1
1.1.1.0/24 dev eth1  scope link  src 1.1.1.2 
default via 1.1.1.1 dev eth1
При этом рядом есть eth0, на котором висит адрес из другой сети с другим default gateway. На eth1 поднят адрес 1.1.1.2 с маской /24

Когда я делаю пинг с указанием IP-адреса, всё работает. Но когда я делаю пинг с указанием интерфейса, ничего не работает:

[root@h1 ~]# ping -I eth1 ya.ru
PING ya.ru (77.88.21.3) from 1.1.1.2 eth1: 56(84) bytes of data.
From 93.170.76.2 icmp_seq=2 Destination Host Unreachable

[root@h1 ~]# ping -I 1.1.1.2 ya.ru
PING ya.ru (77.88.21.3) from 1.1.1.2 : 56(84) bytes of data.
64 bytes from http://www.yandex.ru (77.88.21.3): icmp_seq=1 ttl=59 time=3.90 ms

ЧЯДНТ?

vzzo
()

[rpm]установка файла по другому пути

Форум — Development

Привет!

Хочется собирать RPM-пакет с несколькими подпакетами, предоставляющими бинарники с разными конфигами. Таким образом, после %install у меня есть, например, /usr/bin/hello.func1 и /usr/bin/hello.func2. Мне хочется сделать так, чтобы в пакете myrpm-func1 по пути /usr/bin/hello был файл /usr/bin/hello.func1, а в пакете myrpm-func2 — /usr/bin/hello.func2, но собиралось это за один раз из одной спеки.

Про alternatives я знаю, но симлинки не катят.

 

vzzo
()

python application server

Форум — Development

Привет, лор!

Мне нужен сервер приложений на питоне. Он должен быть максимально простым, но включать в себя менеджер процессов/потоков, очень желательно - шаблонизатор, ну и прочие типичные вещи (поддержку get/head/post-запросов, сессии).

vzzo
()

перевод в forwarding state

Форум — Admin

Привет, лор!

Как быть, если в сетевом мосту в forwarding state переходит не тот интерфейс, который нужен? Можно ли как-то ручками указать ему, кто — внешний интерфейс, из которого, в том числе, нужно получать интернет, а кто — внутренний?

vzzo
()

[c++]заглушка к cout

Форум — Development

Привет, лор!

Мне хочется сделать заглушку к cout, которая дописывает '\n' после каждого её вызова. Насколько я понимаю, у меня должен быть объект, у которого перегружен operator<<, и который возвращает сам себя на operator<<.
Но я не понимаю, как отследить окончание цепочки вызова операторов. То есть, грубо говоря, в строке
mycout << a << b отличить operator<<(mycout, a) от operator<<(mycout, b), и понять, что b - последний в списке.

 

vzzo
()

[c++][библиотека]Нарисовать диаграмму

Форум — Development

Привет!

Кто может посоветовать маленькую библиотеку, которая умеет рисовать диаграммы?

Требования: на вход подается набор точек (дата/время по X, double по Y). Нужно нарисовать оси и сеточку, красиво подписать и разметить оси, нарисовать заданные точки и соединить их линиями. Возможно, нарисовать легенду. Приятный бонус - возможность рисовать несколько линий разных цветов. К проекту уже подключен буст, но в GIL, видимо, нужно делать это почти с нуля.

 ,

vzzo
()

[intelvideo] странные цвета

Форум — Desktop

Привет!

Снова попытался поставить себе на ноут слакварь. Ноут - sony vpc-z11, в нем две карты - intel и nvidia. intel - первая, она меньше греется и ест меньше энергии, так что использовать хочется ее. При попытке использовать, результат: fb and X.

Xorg.0.log: http://pastebin.com/NuKnr171

dmesg: http://pastebin.com/zeRtWqFw

lspci: http://pastebin.com/PdGPsv2e

slackware64-current, linux-2.6.34.1.

Кто виноват, что делать?

vzzo
()

[c++][книга] Нужна книга по STL

Форум — Development

Привет!

Нужна книжка по STL'ю C++. Такая книжка, чтобы совсем по STLю. Чтобы в ней было подробно расписано, как через copy и итераторы istream'ов вводить числа, как подставлять в функторы значения и использовать полученное в компараторах, и так далее, а не просто описание std::sort и std::map.

Что можете посоветовать?

 ,

vzzo
()

Страшные русские шрифты, centos5

Форум — Desktop

У центоса в стандартной поставке очень не нравятся кириллические шрифты: буквы разной высоты, режет глаза: http://i075.radikal.ru/0810/d2/4dd578d7b2b7.jpg Есть ли способ поменять эти шрифты на другие, более красивые, как, например, в федоре9?

>>>

vzzo
()

RSS подписка на новые темы