169 похожих чатов

Вот короче как я себе это представляю: Register account - это просто

будет accountActor который в памяти будет хранить хеши паролей и логины и возможно ссылку на актора соответствующего юзера

Send tweet. Tweets can have hashtags (e.g. #COP5615isgreat) and mentions (@bestuser)
- Вот тут я думаю можно будет сделать eventStream в котором будет броадкаститься (mentions: User list и hashTags: string list) и просто акторы юзеров будут подхватывать ивент и если в списке юзернеймов / хештегов на который юзер подписался есть соответствующий хештег/юзернейм то этот актор его хавает если нет то игнорит. Или есть мб какие-то другие варианты как вы думаете?

Subscribe to user's tweets
- ну тут все просто - отправим актору юзера месседж чтоб добавил в свой стейт ссылку на актора-отправителя и отправлял ему твиты. Только как ссылку на этого юзера достать, динамически это правильно? то есть у меня адреса акторов-юзеров будут детерменированными по их юзернеймам. Это правильный подход или фигня?

Re-tweets (so that your subscribers get an interesting tweet you got by other means)
- думаю тут тоже просто как и выше просто будет в модели Author и это не обязательно тот актор от которого пришло сообщение

Allow querying tweets subscribed to, tweets with specific hashtags, tweets in which the user is mentioned (my mentions)
- тут просто если мы подписаны на твит то мы так же имеем ссылку на актора юзера-автора твита то мы можем запросить инфу об этом твите. Но как делать квери по хештегам вот тут хороший вопрос, я думаю мб у всех акторов-юзеров спросить есть ли у них такие твиты с ххештегами или нет О_о
спрашивать буду через Tell а не Аск ибо аск бед практис я это на себе уже ощутил 😊

If the user is connected, deliver the above types of tweets live (without querying)
- расписал в Send tweet

Implement a tester/simulator to test the above
- блин а это надо будет в другом процессе делать от беда такого никогда не делал. Мб есть примеры пацаны

Simulate as many users as you can
Simulate periods of live connection and disconnection for users
Simulate a Zipf distribution on the number of subscribers. For accounts with a lot of subscribers, increase the number of tweets. Make some of these messages re-tweets
- ребят по этим пунктам вообще поплыл че есть какой-нить бест практис или совет О_о

9 ответов

18 просмотров
Mark- Автор вопроса

синьоры архитекторы посмотрите плиз минут 5 займет если со всем согласны то круто если есть какие-то ошибки или проблемы с которыми могу столлкнуться скажите

Mark
синьоры архитекторы посмотрите плиз минут 5 займет...

Я не очень понимаю, до какой степени все это надо реализовать

Я не против акки в целом, но не проще ли это будет сделать на orleans?

Romɑn Melnikov
Я не против акки в целом, но не проще ли это будет...

Но если ты акку знаешь, то тогда стоит ее брать. Я ее доку читал пару недель

>Но как делать квери по хештегам вот тут хороший вопрос, я думаю мб у всех акторов-юзеров спросить есть ли у них такие твиты с ххештегами или нет О_о Ивент стримы акки по тегу

Тестируется обычно несложно с Akka.TestKit, у Акклинга есть свои добавки. Пример теста: [<Fact>] let ``Should deliver single message`` () = testDefault <| fun tck -> let messageHandler = fun msg -> (typed tck.TestActor) <! msg let handler = createDeliveryActor<int> tck messageHandler handler <! 1 let msg = receiveN tck 1 |> Seq.head |> unbox Assert.Equal(1, msg)

Mark- Автор вопроса
Romɑn Melnikov
>Но как делать квери по хештегам вот тут хороший в...

Ага, это да, а как сделать запрос на исторические твиты (не ивент по новым)

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта