Epic fails: учиться на чужих ошибках никогда не поздно

Учиться программисту нужно всегда, чтобы не отстать от бешеных темпов развития технологий 21-ого века. Еще полезно программисту учиться на чужих ошибках. В качестве ежедневного чтива люблю читать сайты:

  • IT Happens — жалко, что владельцы сайта перестали его обновлять в 2015 году
  • WTF Daily — каждый день — новая история
  • Spectrum Risk Factor
Реклама

Крупнейшие IT-проблемы на биржах в 2018 году

2018 год не обошелся для фондовых бирж без IT-проблем:

Ссылки по теме:

Linux для биржевой торговли

Операционная система играет важнейшую роль в работе торговой системы. Поэтому выбор ОС является главным этапом создания биржевой торговой системы с приемлимым уровнем latency. Исторически так сложилось, что теперь в качестве ОС чаще всего выбирают Linux.

Linux — это бесплатное ядро операционной системы общего назначения. ОС, построенная на основе ядра Linux, способна работать на обычных настольных компьютерах, на многопроцессорных серверах, лаптопах, планшетах, телефонах и встроенных устройствах. Поэтому для работы в задачах биржевой торговли, где особо высоки требования к low-latency, необходимо провести тонкую настройку ОС Linux.

Читать далее

Все опции JVM

Чтобы посмотреть, какие опции поддерживает ваша версия Java, запускаем:

java -XX:+UnlockDiagnosticVMOptions -XX:+UnlockExperimentalVMOptions -XX:+PrintFlagsFinal

и получаем на экране полный список:

Читать далее

Жил был программист Richard Rose

Жил был программист Richard Rose.

После работы на ведущие банки мира (Goldman Sachs, Morgan Stanley, Bank of America, UBS и прочее), он решил, что настало время уйти на вольные хлеба и реализовать свои идеи и наработки в коммерческом продукте. План состоял в том, чтобы создать движок, совмещавший OMS и соединение с рынком, который бы способен был перемещать сообщения с задержкой в микросекунды и даже меньше. Движок был написан на Java.

Читать далее

Java 11 и Epsilon GC

В Java 11 представлен новый экспериментальный сборщик мусора Epsilon GC. Несмотря на название, он не собирает мусор, а только аллоцирует память и не освобождает её. Соответственно, по исчерпании свободной памяти, возможен креш с OutOfMemory. Для чего такой сборшик мусора может пригодиться?

Читать далее

Что такое latency? Low latency? Ultra-low latency?

Для понимания понятия latency возьмем простой пример. Представьте себе некий «черный ящик» с одним входом и одним выходом. Вы подаете сигнал на вход и ожидаете появление сигнала на выходе. При проведении экспериментов вы замечаете, что при подаче сигнала на вход сигнал на выходе появляется через 1 секунду. Причем это происходит постоянно с отклонением +/- 10 миллисекунд. То есть выдача сигнала на выходе происходит с определенной задержкой. Это и есть latency — время задержки.

Читать далее

Java для торговых приложений? Вполне!

Как вы можете использовать Java для финансовых торговых приложений? Ведь Java тормозная, жрёт много памяти, сборщик мусора останавливает приложение, когда захочет. Разве Java годится для low-latency? Для этого непременно нужно писать на C, C++, а еще лучше на Verilog и использовать FPGA, не меньше! Java для high-frequency trading? Да вы шутите!? Java для алгоритмической торговли? Не смешите мои тапки!

Так или примерно так реагируют некоторые разработчики на использование Java в финансовых приложениях, где критичны скорость работы и высоки требования к latency.

Уверяю вас Java вполне подходит для финансовых торговых приложений и вот несколько причин почему.

Читать далее

Три книги по оптимизации Java

Рекомендую вам три книги, которые очень помогают разобраться во внутреннем устройстве JVM, рассказывают о факторах, влияющих на производительность приложения и предлагают различные советы по оптимизации работы вашего Java-приложения.

Эти книги особенно полезны для Java-разработчиков финансовых приложений. Ведь в финансовых приложениях как никогда верно высказывание «время — деньги». Если приложение медленно работает или зависает для выполенения какой-то фоновой задачи, например, сборки мусора, перекомиляции кода, когда требуется выставить заявку на рынок или обработать новые цены, важный момент может быть упущен и потери могут быть невосполнимыми.

Читать далее

Java-эксперты, которых надо знать в лицо

Ни один программист не способен знать все о том или ином языке и технологии, даже если прочитает сотню книг по заданной теме. Всегда полезно слушать экспертов, которые идут на шаг вперед, разобрались в чем-то и могут объяснить туманные моменты, развенчать миф или продемонстрировать выдающееся достижение, поделиться реальным опытом.

Читать далее