
Andrei
17.04.2016
00:24:38
Буду переносить нейронку на fpga

Ned Ogl
17.04.2016
00:25:08

Andrei
17.04.2016
00:25:13
Фурье хуирье освоить вроде как мехмат не нужен. :D

Ned Ogl
17.04.2016
00:25:28
ну да, но математика - это просто красивая дрочь для мозга

Google

Andrei
17.04.2016
00:25:32
Я закончил матфизику на физфаке спбгу шном
Бакалавриат.
Пока учился там уже начал работать в др вебе.

KrivdaTheTriewe
17.04.2016
00:26:20
попробуем разобраться

Andrei
17.04.2016
00:26:37
Потом после бакалавриата ушел из дрвеба и год работал на HFT ребят. Вот там как раз ебошил кросплатформенный код сетевые либы и прочее

Ned Ogl
17.04.2016
00:26:53

KrivdaTheTriewe
17.04.2016
00:27:08

Ned Ogl
17.04.2016
00:27:09
роботов писал, или биржевую сторону?

Andrei
17.04.2016
00:27:22
После этого пошел в магистратуру Академического Университета, это тот который Алферовский, и самый большой проходной среди баков в 15 годк
И вот щас отчуившись семестр бросил и ушел целиком в свой бузинесс

Google

Andrei
17.04.2016
00:28:16
Но вообще там строжайшее NDA не могу вдаваться в детали.
Могу лишь сказать, что эта контора обеспечивала 10% дневного оборота рынка ценных бумаг всей России

Stanislav
17.04.2016
00:29:53

Andrei
17.04.2016
00:30:03
Сейчас в общем селф-емплойед.
Беспилотные судна.
Морские и речные.

Stanislav
17.04.2016
00:31:45
сириос

Andrei
17.04.2016
00:32:05
Ну так. Норм:3
Владелец 10% уставного капитала :3

KrivdaTheTriewe
17.04.2016
00:34:43
крутой
а я погроммист простой, математику не шибко шарю
криптографию и подавно

Stanislav
17.04.2016
00:35:19
я вот тоже)
тут закодай, там сверстай)

KrivdaTheTriewe
17.04.2016
00:35:43
сейчас Akka ковыряю

Ned Ogl
17.04.2016
00:39:59
а кто мне объяснит, зачем существует три стандарта libc?
posix, bsd, gnu и обыкновенный...
4 даже

KrivdaTheTriewe
17.04.2016
00:50:35
а чо тебе в акке не нравится

Google

KrivdaTheTriewe
17.04.2016
00:50:49
делают разные люди

Andrei
17.04.2016
00:51:33

Ned Ogl
17.04.2016
00:56:11
в чём сакральный смысл atomic?

Andrei
17.04.2016
00:56:26
std::atomic?
Или ты про какой-то другой?

Ned Ogl
17.04.2016
00:57:03
я о концепции скорее
что это такое?

Andrei
17.04.2016
00:58:28
Атомарность это аттрибут операции. Когда мы говорим что переменная атомарная имеем в виду что операции над ней атомарны. Атомарность операции значит, что во время её выполнения гарантированно никто не попытается осуществить другую операцию с атомарным объектом.

Ned Ogl
17.04.2016
00:58:57
тем временем я понял охерительную вещь. когда мы компилим ядро линха, все параметры конфигурации отдаются компилятору и в зависимости от них существенно меняется код.
бинго, открыл америку

Andrei
17.04.2016
01:00:00
Если мы говорим про атомарность операции безотносительно объекта, то это значит что никто не прервет контекст выпоолнения этой операции и не вытеснит её с процессора.

Andrei
17.04.2016
01:00:06
О
Это легко
Сейчас объясню элементарно
Смотри у человека есть счет в банке.
И вот случается так, что в какой-то момент на него хотят положить денег
И он им же расплачивается в магазине
Мы видим две операции
Уменьшить(количество) и увеличить(количество)

Google

Andrei
17.04.2016
01:02:13
Как они могли бы быть реализованы?
Например так

Admin
ERROR: S client not available

Andrei
17.04.2016
01:03:36
withdraw(int price) { int currentBalance = getBalance(); setBalance(currentBalance - price);}
И то же самое с функцией deposit
Только там +

Плюшка
17.04.2016
01:04:07
Не*

Andrei
17.04.2016
01:04:27
Теперь пусть у чувака 100рублей. Он совершает покупку на 10 и ему кладут 20 рублей

Ned Ogl
17.04.2016
01:04:41

Плюшка
17.04.2016
01:04:50

Andrei
17.04.2016
01:06:15
Если выполнятся эти операции одновременно то может произойти такое: магазин вызвал withdraw в пменную currentBalance записалось 100, и ровно в этот момент успевает пройти транзакция которая в банке кладет 20 рублей. На счету у чувака становится 120. Но в этот момент выполняется в орая строчка withdraw
И его баланс становится 90
Хотя должен быть 110 как мы понимаем.

Ned Ogl
17.04.2016
01:07:03
даа

Andrei
17.04.2016
01:07:08
Почему так вышло? Ну вот как раз из-за неатомарности. Одновременно мы получили доступ к объекту из двух мест.
Чтобы такой ситуации не было, мы говорим, что операции deposit и withdraw атомарные
А значит не могу выполняться одновременно.
Поэтому если такая ситуация происходит они встают в очередь
То же самое но в рамках одного компа может произойти скажем с переменными к которым обращаются из двух разных тредов.

Google

Andrei
17.04.2016
01:08:44
Или более того, одна и та же переменная к которой обращаются из двух ядер процессора
При этом она лежит не в общем кеше.

Ned Ogl
17.04.2016
01:28:44
отлично, понял
спасибо

Anatoly
17.04.2016
03:40:59
Я так понимаю, гуглить и читать википедию вышло из моды.
вроде "откуда взялась тут эта единичка"?
Про единички: раньше часто писали
#define XXX
...
#if XXX /* instead of "#ifdef XXX" */
...
но сейчас это считается плохим стилем, и компиляторы часто ругаются ворнингами.
#define XXX 1 позволяет спокойно использовать оба варианта.
Также см. http://stackoverflow.com/questions/135069/ifdef-vs-if-which-is-better-safer-as-a-method-for-enabling-disabling-compila
И http://stackoverflow.com/questions/3802988/difference-between-preprocessor-directives-if-and-ifdef
^^^ также про "#ifdef XXX" vs. "#if defined (XXX)"
Кстати, балбесы, не понимающие разницу между иф и ифдеф, бывают даже в гугле: https://github.com/google/googletest/issues/240

Alex Фэils?︙
17.04.2016
07:03:41
Ох, сколько сообщений

ivario
17.04.2016
07:04:26
Ох лол, мне скоро свой говнокод жюри показывать надо будет