Berkus
12.01.2018
09:44:10
Nik
12.01.2018
09:44:11
Aidar
12.01.2018
09:44:11
Мы про си++ говорим а не про портабельный код
Berkus
12.01.2018
09:44:31
Google
Berkus
12.01.2018
09:44:48
Aidar
12.01.2018
09:44:58
А это типа и есть си++
Berkus
12.01.2018
09:45:11
Alexander
12.01.2018
09:46:08
Olesya
12.01.2018
09:47:47
привет, народ. кто-то может подсказать лемматизаторы на плюсах? нужно что-то по типу pymorphy.
Nik
12.01.2018
09:47:56
Almaz
12.01.2018
09:48:12
Где вы выучили с++?
Alexander
12.01.2018
09:48:20
микросервис на c++ стоит писать, но как по мне так не просто rest, а если специфик то проще поднять отдельный микросервис и завязать с рест микросервисом через теже очереди или rpc
Nik
12.01.2018
09:48:29
Berkus
12.01.2018
09:48:40
BlackAndOrange
12.01.2018
09:48:58
Есть яндексовская томита
Она в паблике
Google
Alexander
12.01.2018
09:49:18
Almaz
12.01.2018
09:49:30
Спасибо
Berkus
12.01.2018
09:50:48
Спасибо
в коробочку номинально влезало только 10, но немного прижав пальцем можно было затолкать и одиннадцатую, поэтому это был достаточно portable solution
Olesya
12.01.2018
09:53:23
BlackAndOrange
12.01.2018
09:53:40
https://tech.yandex.ru/tomita/
Vsevolod
12.01.2018
09:57:33
Я пользуюсь snowball - не совсем плюсы, и для русского работает неважно, но лучше, чем ничего
Almaz
12.01.2018
10:04:27
Если зайти через дедик и соседский вай фай то найти будет не легко?
Olesya
12.01.2018
10:06:21
про него я тоже знаю
Egor
12.01.2018
10:08:00
Aleksey
12.01.2018
10:09:40
настоящий анонимус едет с одноразовым wifi в другой конец страны(не беря с собой любые gsm устройства) стараясь максимально избегать людей и там уже делает своё грязное дело через анонимную wifi точку ;)
Egor
12.01.2018
10:16:40
И его вылавливают по мобильному телефону, который почему-то вошёл в сеть одновременно с анонимусом: https://pikabu.ru/story/ot_quotbolshogo_brataquot_ne_skryitsya_3929978
Хотя да, если не брать любые GSM устройства, то интереснее
Maxim
12.01.2018
10:20:53
39170
12.01.2018
10:57:35
Antony
12.01.2018
11:04:14
Там есть ещё хитрый момент - хитрое железо умеет не писать нули в память, откладывая/забивая на эту операцию
Как потом достать старое (незанулённое) значение мне не ведомо, но подозреваю что есть методы
Berkus
12.01.2018
11:08:47
Vsevolod
12.01.2018
11:10:04
А зачем это хитрому железу?
Berkus
12.01.2018
11:21:28
вот для этого
Google
Vsevolod
12.01.2018
11:21:51
это вообще как связано с записью в память?
side channel attack на кеш (meltdown) или branch predictor (spectre)
Berkus
12.01.2018
11:22:49
как и всё в железе - ради скорости
Vsevolod
12.01.2018
11:23:53
проверить, что пишутся нули, и отложить именно это - это, имхо, гораздо сложнее, чем тупо записать все (или отложить все)
ну и 5 to 30% slowdown - это, опять же, без pcid
странно, что появились они аж в westmere, а использовать их стали только в 4.xx ведре
Berkus
12.01.2018
11:27:19
Vsevolod
12.01.2018
11:29:45
Pcid - теги процесса в tlb
Ну да, откладывать все - это реальный кейс
Поэтому надо писать из prng криптографического несколько раз в таком случае
Berkus
12.01.2018
11:31:51
ну по хорошему оно вообще должно быть в trustedzone securememory так то
и оттуда никогда не вылазить
Vsevolod
12.01.2018
11:42:05
у меня тут периодически возникает определенное желание переделать свой основной проект с plain c на c++, есть где-то success story для каких-то более-менее крупных проектов (200k LoC)?
Anatoly
12.01.2018
11:47:03
Vsevolod
12.01.2018
11:48:12
он был когда-то на plain c?
еще ищутся какие-то блог посты на эту тему, да
потому что пока задача меня ужасает, конечно
Arthur
12.01.2018
11:49:57
Google
Berkus
12.01.2018
11:49:59
там правда выборочно, но они тоже решили переехать
между с и с++ интерфейсы совместимые, поэтому просто внутренности модуля конвертируешь по чутьчуть в с++, внешний интерфейс оставляешь как обычно
потом следующий
когда между двумя с++ модулями остается с интерфейс, выкидываешь его
ну и так до полного удовлетворения
Vsevolod
12.01.2018
11:54:27
а если весь текущий c код собирать компилятором c++?
чтобы без extern "C" и вот этого всего
Anatoly
12.01.2018
11:57:45
Berkus
12.01.2018
11:58:24
и ничего не соберется
Anatoly
12.01.2018
11:58:39
olologin
12.01.2018
12:03:27
Господа, можно ли как-то под виндой узнать какие длл-ки загружаются моей программой, рекурсивно, с путями вместе.
У меня при загрузке foo.dll начинают резолвиться её зависимости, и одна из них не резолвится, хотелось бы узнать в какой длл-ке поиск происходит, потому как там несколько длл-ок с одним именем.
в разных подпапках
Anatoly
12.01.2018
12:04:24
alekum
12.01.2018
12:05:38
Vsevolod
12.01.2018
12:06:59
проблема в том, что эти интерфейсы так и будут на raw pointers и на всяких кишках от glib (hash table, ptr array итп). А вот от последнего и хочется избавиться путем миграции на c++
классы - это вообще вторичное
Anatoly
12.01.2018
12:08:13
Спс
в runtime Process32First/Process32Next, Module32First/Module32Next, детальную инфу посмотри в MSDN
Timur
12.01.2018
12:10:09
Господа, можно ли как-то под виндой узнать какие длл-ки загружаются моей программой, рекурсивно, с путями вместе.
У меня при загрузке foo.dll начинают резолвиться её зависимости, и одна из них не резолвится, хотелось бы узнать в какой длл-ке поиск происходит, потому как там несколько длл-ок с одним именем.
В glass.exe переходим в корешок настройки флагов для конкретного приложения, вводим имя exe, нажимаем tab, включаем loader snaps, запускаем отладчик и смотрим в debug output, на что загрузчик обзовется
Google
Anatoly
12.01.2018
12:10:39
Timur
12.01.2018
12:11:05
Berkus
12.01.2018
12:11:26
потом переписывать модули, выкидывая трансляцию между с и с++
Vsevolod
12.01.2018
12:15:30
да, надо посмотреть, насколько будет сложно сделать этот первый шаг
Anatoly
12.01.2018
12:16:12
Berkus
12.01.2018
12:16:46
ну да, если тестов нет - надо начинать на модули тесты клепать, а по тестам будет видно какие надо сделать АПИ
потом по тестам заимплементишь АПИ, подклеишь его к сишному модулю и вот можно начинать рефактор )
Vsevolod
12.01.2018
12:18:01
там довольно сложно выделить отдельные модули
Berkus
12.01.2018
12:19:28
Vsevolod
12.01.2018
12:25:10
да, вот в этом тоже вопрос :)
возможно, имеет смысл просто выкинуть неэффективные структуры данных от glib и написать нормальные
Anatoly
12.01.2018
12:26:11
Vsevolod
12.01.2018
12:31:22
к сожалению, это от glib
а значит, никакое lto не заинлайнт cmp/hash функции
и это жопа