Pull to refresh
94
0
Aleksander Alekseev @afiskon

Software Developer

Send message
Не знал, что такое вообще бывает. Спасибо :) Но не нашел как это включить в Scala Plugin. Неужто там нет?
Rust, бесспорно, интересный язык. Но тут проблема курицы и яйца. Пока на нем никто не пишет, нет инструментов и вакансий. Пока нет инструментов и вакансий, это никому не интересная игрушка. А то что плагин медленно пишется — ну так вы автору занесите, может разработка и ускорится. Racer хотя бы прикрутит, уже прогресс огромный будет.
Есть подозрения, что ближайшие лет 5 это не бизнес приоритетная задача ))) Точно не более приоритеная, чем нормальная поддержка скажем Haskell. Но тут энтузиастом пилится плагин для Rust github.com/Vektah/idea-rust
Ой, а каким хоткеем в QtCreator посмотреть тип? Я читал их шпаргалку по хоткеям и не нашел. Может посоветуете туториал какой-нибудь или иного рода учебный материал по этой теме?
Печаль. А как на этих примерах ведет себя Eclipse CDT? Я просто знаю под Linux только две IDE для С++, умеющие выводить типы — Eclipse и CLion.
Я смотрю, CLion знает типы переменных, отображает их при нажатии Ctr+Q. А нельзя ли также сделать отображение типа без документации через Alt+=? У меня, как, вероятно, и у многих других пользователей продукции JetBrains, мышечная память на него :) И еще вопрос. Планируется ли добавить полноценный вывод типа для auto переменных? Сейчас это работает только в обычном коде, но не в шаблонах i.imgur.com/uvxCWXM.png
Это просто отличная новость!

Но, увы, у меня не получилось купить лицензию с помощью Яндекс.Денег i.imgur.com/BNt5CL4.png :(
Вроде все получилось, спасибо!
Как быстрый вариант решения могу предложить перенести регистрацию на какой-нибудь сервис для этого, meetup.com например.
Ребят, вы извините меня пожалуйста, но этот сайт где вы предлагаете зарегистрироваться и подать заявку на доклад ни на что не годится. Хотел зарегистрироваться. Пришло письмо. Заполняю форуму, говорят «ой, а пользователь с таким email уже есть». Зачем было слать письмо на регистрацию тогда? Ок, кликаю по ссылке на профиль — 404. Хм… Ок, жму восстановить пароль, приходит письмо с линком, все ОК. По линку предлагают ввести новый пароль дважды и (!) текущий пароль, который я блин не помню. Ок, оставляю это поле пустым, может прокатит. Получаю 502 Bad Gateway. Не смог ни зарегистрироваться, ни подать заявку на доклад в итоге :(
Большое спасибо за интересную статью!

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

Определяете, по какому ключу шардите. Например, это id пользователя. Заводите множество небольших БД, каждая, например, ровно на 1000 пользователей. База 1 держит пользователей 1-1000, база 2 — пользователей 1001-2000 и так далее. Если в БД уже есть 1000 пользователей, заводите новую. Один сервер PostgreSQL держит несколько баз, в зависимости от крутости железа и числа запросов к этим БД. Если нагрузку сервер больше не держит, заводите новый сервер. При обновлении сервера в поднятый на нем PostgreSQL можно перенести бОльшее число баз. Для определения какая БД на каком сервере лежит используется «словарь» который можно держать, скажем, в Redis.

Остается проблема распределенных транзакций, если приложению нужно передавать что-то между пользователями живущими в разных БД. Почти рабочее решение описано в этой статье (в описанном там чтении нет изолированности, решается выполнением транзакции на запись тех же значений, что считали). Альтернативный вариант, более колхозный, описан здесь. Кто-то предпочитает 2PC, но он его сложно реализовать, чтобы он работал при падении узлов или клиента, выполняющего транзакцию, нужно какой-то Raft/Paxos еще прикручивать.

С удовольствием прочитал бы другие заметки о том, как у вас все устроено. Интересуют вопросы из этого списка, например, вы совсем не рассказали про ваши метрики, мониторинг и агрегацию логов.
Простите, мне не хотелось бы вас расстраивать, но по-моему эту задачку все со школы еще знают.
Спасибо за интересную статью. Следует однако отметить, что в ней вы рассмотрели довольно простую задачу. Попробуйте, например, задачу распознавания образов, и все сразу станет намного интереснее. Плюс Fann насколько я понимаю не параллелится, а жаль, потому что обучение нейронных сетей можно существенно ускорить на многоядерных процессорах.
Rust выглядит очень интересно. Но мое отношение к нему — пусть лет 5 на нем попишут другие люди, соберут все грабли, если после этого на нем кто-то еще будет писать, возможно, язык заслуживает внимания. Может и инструменты нормальные (IDE в том числе) появятся к тому времени. Очень уж много было «убийц C++» в последнее время которые так и не оправдали ожиданий, во всяком случае, как замены C++: D, Vala, Go, возможно еще какие-то о которых я забыл.
Из недавно прочитанных книг на мой взгляд перевода заслуживают:

* Testing in Scala
* Effective Modern C++
* (возможно) Netty in Action

Также в бложике по тэгу Литература можете найти рецензии на другие книги.
Спасибо за ссылку :) Книгу прочитал. Ни на что не годится, не стоит перевода однозначно. Стоит ли читать в оригинале тоже под большим вопросом.
Спасибо за перевод, статья понравилась. Все так.
Мы сейчас пишем примерно так (язык Scala):

class SomeClass {
  def someMethod = measure("SomeClass.someMethod") {
     // ...
  }
}


А хотелось бы:

class SomeClass {
  def someMethod = measure {
     // ...
  }
}


И чтобы в метод measure передавалось имя класса и имя метода. Пробовали извлекать их из стэктрейсов, но при нагрузочном тестировании из-за этого возникают постоянные блокировки, производительность просаживается. Было бы интересно посмотреть, как решить проблему с помощью AOP.
AspectJ — это очень хорошо, используем в проекте для сборка метрик и трассировки в распределенном приложении (через библиотеку Kamon). Не представляю, как бы жили без него.

С нетерпением жду новых постов, посвященных AOP!

Information

Rating
Does not participate
Location
Россия
Registered
Activity